温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oauth2.0理解

发布时间:2020-03-19 02:31:06 来源:网络 阅读:1727 作者:zzzzzga 栏目:开发技术

Oauth3的4种模式:

  • 授权码(Authorization)模式(获取code、code换取access_token)
  • 简化(Impilict)模式(直接换取access_token,基本不用)
  • 密码(Resource Owner Password)模式(客户端向用户索取账号密码,然后客户端向服务端索取授权,基本不用)
  • 客户端(Client)模式(客户端以自己的名义要求"服务提供商"提供服务;场景:提供接口服务)

授权码模式流程

  1. 注册客户端

    • clientId = 1
    • secret=secret
  2. 注册用户
  3. 请求授权码

    • http://localhost:8080/oauth3-server/authorize?client_id=client_id&client_secret=client_secret&response_type=code&redirect_uri=redirect_uri&scope=productservice%20agentservice
  4. 跳转至授权登录页面
  5. 登录后,回调到redirect_uri?code=xxxxx&scope=productservice%20agentservice
  6. POST http://localhost:8080/oauth3-server/token?client_id=client_id&client_secrets=client_secrets&grant_type=authorization_code&redirect_uri=redirect_uri&code=xxxx&scope=productservice%20agentservice 得到accessToken

简化模式流程

同授权码模式
只是少了步骤5,6
第5步登录后就返回accessToken

客户端授权流程

客户端和授权中心之间的对接,跟用户无关

密码模式

用户将账户密码告诉客户端
客户端用账户密码获得授权

总结

  • 常用的还是授权码模式。
  • 相比授权码模式,简化模式虽然降低了安全性,但也降低了使用难度
  • 客户端模式一般用于 API调用服务
  • 密码模式因为直接泄露密码,基本没有使用的场景
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI