#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