登陆工程

疑问?

  1. 为什么Auth2.0的Authorization Code类型认证需要code,user直接输入用户名和密码给应用服务器,应用服务器返回access_token不可以吗?
    答:如果没有code的认证流程:用户输入的用户名和密码会发送给application服务器(需要请求授权服务器的应用),application服务器拿上app_id和app_secret,去请求授权服务器;这样的话user的用户名和密码就泄露给application服务器了,信息不安全;而且application服务器的app_id和app_secret不能泄露给用户,所以需要user用用户名和密码请求授权服务器,授权服务器返回code给application服务器,application拿上app_id和app_secret以及code去获取access_token,三方应用即可利用access_token,请求资源服务器的API获取相应的用户数据。
  2. OpenId connect是什么?
    答:OpenId是授权服务器对三方应用和user生成的唯一ID,用于三方application服务器鉴别唯一的授权服务器的user,可以参考微信的实现open Id。

参考文档

  1. 登录工程:传统 Web 应用中的身份验证技术
  2. 登录工程:现代 Web 应用的典型身份验证需求
  3. 登录工程:现代Web应用中的身份验证技术
  4. OAuth2.0
  5. an-introduction-to-oauth-2
原文地址:https://www.cnblogs.com/boboshenqi/p/10563891.html