疑问?
- 为什么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获取相应的用户数据。
- OpenId connect是什么?
答:OpenId是授权服务器对三方应用和user生成的唯一ID,用于三方application服务器鉴别唯一的授权服务器的user,可以参考微信的实现open Id。
参考文档
- 登录工程:传统 Web 应用中的身份验证技术
- 登录工程:现代 Web 应用的典型身份验证需求
- 登录工程:现代Web应用中的身份验证技术
- OAuth2.0
- an-introduction-to-oauth-2
posted @
2019-04-02 18:21
gitmoji
阅读(
151)
评论()
编辑
收藏
举报