Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OAuth 2.0 讲解 #8

Open
DoneSpeak opened this issue Apr 6, 2020 · 0 comments
Open

OAuth 2.0 讲解 #8

DoneSpeak opened this issue Apr 6, 2020 · 0 comments

Comments

@DoneSpeak
Copy link
Owner

DoneSpeak commented Apr 6, 2020

OAuth协议简介

解决的问题

临时身份认证。

角色

  • 服务提供商(Provider/微信)
    • 认证服务器(Authorization Server)负责认证和发放证书
    • 资源服务器(Resource Server)存放数据的服务器
  • 资源所有者(Resource Owner/用户)
  • 第三方应用(Client/我们的应用)

OAuth 2.0 协议基本流程:
image

OAuth协议中定义了如下四种不同的授权模式,也就是说,【同意授权】有四种不同的方式。

  • 授权码模式(authorization code)
  • 密码模式(resource owner password credentials)
  • 客户端模式(client credentials)
  • 简化模式(implicit)

四种模式

授权码模式(authorization code)

image

绝大多数第三方登录平台会采用的模式。

  • 和其他模式不同的是,授权码模式的授权是在授权服务器中完成的,而授权码模式的授权是在授权平台完成的。
  • 这样的区别可以确保用户确实是同意授权了,而不会是其他人伪造的。
  • 授权码模式需要第三方应用在收到回调之后发送一个请求,确保了请求是在服务器发送出去的。

密码模式(resource owner password credentials)

客户端模式(client credentials)

简化模式(implicit)

参考

第三方平台开放API

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant