OpenId和OAuth区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenId和OAuth区别相关的知识,希望对你有一定的参考价值。

OpenId

OpenId:是落网可以没有用户的任何实现,落网需要确认一个 URL 标识(可以是多个),然后用户登录的时候,选择一个 URL 进行登录(比如微博),跳转到微博 OpenID 登录页面,用户输入微博的账号和密码,微博验证成功之后,按照用户的选择,返回用户的一些信息。

依赖方不需要做什么事情,只需要给url,让用户去登陆,返回需要的信息

OAuth

OAuth:用户在微博授权页面输入微博的账号和密码,微博验证成功之后,返回 access_token,然后落网拿到 access_token 之后,再去请求微博的用户 API,微博授权中心验证 access_token,如果验证通过,则返回用户 API 的请求数据给落网。

需要依赖方指导用户登陆之后,同意授权,获得access_token,就可以获得所授权的所有功能

  • 客户端模式
    • 和用户无关,用于应用程序与API资源的直接交互场景
  • 密码模式
    • 和用户有关,一般用于第三方登陆
  • 简化模式 with openId
    • 仅限openid认证服务
  • 简化模式 with openid and oauth js客户端调用
    • 包含 OpenID 认证服务和 OAuth 授权,但只针对 JS 调用(URL 参数获取),一般用于前端或无线端。
  • 混合模式
    • 推荐使用,包含 OpenID 认证服务和 OAuth 授权,但针对的是后端服务调用。

以上是关于OpenId和OAuth区别的主要内容,如果未能解决你的问题,请参考以下文章

OAuth 2.0“状态”和OpenID“nonce”参数之间的区别?为啥状态不能被重用?

OpenId和OAuth区别

OpenID 与 OAuth [重复]

IdentityServer4授权模式应用场景

微信订阅号如何获得用户的openid

OAuth & OpenID & SAML 工作流程梳理对比