IdServer几种方式
授权模式
- 客户端凭证模式
- clinet Credentials 客户端凭证模式:客户端(Client)请求授权服务器验证,通过就发access token,Client直接以自己的名义去访问Resource server的一些受保护资源
- 适用范围:一般只用于服务端和服务端之间的认证
- 密码凭证模式
- 高度信任某个应用client,也允许用户把用户名和密码直接告诉给client,应用client就使用你的密码,申请令牌(密码式)
- 适用范围:当资源所有者与客户端具有良好信任关系的场景
- 密码授权流程
- code模式
- 简化模式
- 为了解决密码不安全的问题,不支持refresh token
- 简化模式:不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,跳过了“授权码”这个步骤(授权码模式),所有步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。(把令牌直接传给前端,是不安全的。用于安全要求不高的场景,并且令牌的有效期必须非常短,通常就会话期间有效,浏览器关掉,令牌就失效了)
- 适用范围:基于浏览器的应用。
- 授权流程:
- 客户端携带客户端标识以及重定向url到授权服务器
- 用户确认是否要授权给客户端
- 授权服务器得到许可后,跳转到指定的重定向地址,并将令牌也包含在里面
- 客户端不携带上次获取到的包含令牌的片段去请求服务器资源
- 服务器向浏览器返回一个脚本
- 浏览器根据上一步返回的脚本,去提取在C步骤中获取到的令牌
- 浏览器将令牌推送给客户端
- 和code模式区别就是不需要客户端的参与,全部都在浏览器完成
本文作者:乐天--
本文链接:https://www.cnblogs.com/blackamon/p/17272829.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步