美文网首页
Oauth2授权模式

Oauth2授权模式

作者: majorty | 来源:发表于2019-07-20 14:45 被阅读0次

    Oauth2有以下授权模式:

    授权码模式(Authorization Code)
    隐式授权模式(Implicit)
    密码模式(Resource Owner Password Credentials)
    客户端模式(Client Credentials)
    其中授权码模式和密码模式应用较多

    一、授权码授权流程

    1.1、上边例举的程序员网站使用微信认证的过程就是授权码模式,流程如下:

    1、客户端请求第三方授权
    2、用户(资源拥有者)同意给客户端授权
    3、客户端获取到授权码,请求认证服务器申请令牌
    4、认证服务器向客户端响应令牌
    5、客户端请求资源服务器的资源,资源服务校验令牌合法性,完成授权
    6、资源服务器返回受保护资源

    1.2、申请授权码

    请求认证服务获取授权码:
    Get请求:

    localhost:40400/auth/oauth/authorize?client_id=XcWebApp&response_type=code&scop=app&redirect_uri=http://localhost
    

    参数列表如下:
    client_id:客户端id,和授权配置类中设置的客户端id一致。
    response_type:授权码模式固定为code
    scop:客户端范围,和授权配置类中设置的scop一致。
    redirect_uri:跳转uri,当授权码申请成功后会跳转到此地址,并在后边带上code参数(授权码)。
    首先跳转到登录页面:


    图片.png

    输入账号和密码,点击 Login。
    Spring Security接收到请求会调用UserDetailsService接口的loadUserByUsername方法查询用户正确的密码。
    当前导入的基础工程中将正确的密码硬编码为“123”,所以这里账号随意输入,密码输入123即可认证通过。
    接下来进入授权页面:


    图片.png
    点击“同意”。
    接下来返回授权码:
    认证服务携带授权码跳转redirect_uri
    图片.png

    相关文章

      网友评论

          本文标题:Oauth2授权模式

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