美文网首页
SSO单点登录授权系统

SSO单点登录授权系统

作者: JumpSoul | 来源:发表于2020-03-07 10:47 被阅读0次

    1、SAML 2.0 常用身份验证登录(非第三方登录)

    SAML2.0 认证原理

    1.1 还 未登陆 的用户 打开浏览器 访问你的网站(SP),网站 提供服务 但是并 不负责用户认证。

    1.2 于是 SP 向 IDP 发送了一个 SAML 认证请求,同时 SP 将 用户浏览器 重定向到 IDP。

    1.3 IDP 在验证完来自 SP 的 请求无误 之后,在浏览器中呈现 登陆表单 让用户填写 用户名 和 密码 进行登陆。

    1.4 一旦用户登陆成功, IDP 会生成一个包含 用户信息(用户名 或者 密码)的 SAML token(SAML token 又称为 SAML Assertion,本质上是 XML 节点)。IDP 向 SP 返回 token,并且将 用户重定向 到 SP (token 的返回是在 重定向步骤 中实现的,下面会详细说明)。

    1.5 SP 对拿到的 token 进行验证,并从中解析出 用户信息,例如 用户是谁 以及 用户的权限 有哪些。此时就能够根据这些信息允许用户访问我们网站的内容。

    2、OAUTH2.0 第三方登录实现原理

    oauth2.0流程图

    2.1 用户通过 客户端(可以是 浏览器 也可以是 手机应用)想要访问 SP 上的资源,但是 SP 告诉用户需要进行 认证,将用户 重定向 至 IDP。

    2.2 IDP 向 用户 询问 SP 是否可以访问 用户信息。如果用户同意,IDP 向 客户端 返回 authorization code。比如,用户在微信同意授权后,返回给一个携带用户信息的认证token给客户端,注意不是api访问的授权token。

    2.3 客户端拿到 authorization code 向 IDP 交换 access token,并拿着 access token 向 SP 请求资源。

    2.4 SP 接受到请求之后,拿着附带的 token 向 IDP 验证 用户的身份。确认身份无误后,SP 向 客户端 发放相关资源。

    相关文章

      网友评论

          本文标题:SSO单点登录授权系统

          本文链接:https://www.haomeiwen.com/subject/ktjvkhtx.html