#author("2023-10-28T14:11:10+08:00","default:Admin","Admin")
#author("2023-10-28T14:13:03+08:00","default:Admin","Admin")
[[Web開発]]

#contents

* OAuth [#q535a4d4]
开放授权(Open Authorization)是一个开放的授权标准,允许用户让第三方应用访问该用户在某一web服务上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。如网站通过微信、微博登录等,主要用于第三方登录。

* Token Auth [#b1c0b67f]

** 简化模式 [#z7b1aea5]

特点:
- 不需要获取授权码,第三方应用授权后授权认证服务器直接发送临牌给第三方应用,适用于静态网页应用,返回的access_token可见,access_token容易泄露且不可刷新。
- 简化模式不通过第三方应用程序的服务器,直接在客户端中向认证服务器申请令牌,跳过了"授权码"这个步骤,因此得名。所有步骤在客户端中完成,令牌对访问者是可见的,且客户端不需要认证。

使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

+ 客户端使用 用户名跟密码请求登录
+ 服务端收到请求,去验证用户名与密码
+ 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
+ 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里
+ 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
+ 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

&ref(+web+oauth.png);


** 授权码模式 [#z7f279f2]

&ref(+web+oauth2.png);

#codeprettify{{
 XXX
}}

#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS