- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,在默认的 jhipster UAA 配置中,我们有:clients.inMemory()
.withClient("web_app")
.scopes("openid")
.autoApprove(true)
.authorizedGrantTypes("implicit","refresh_token", "password",
"authorization_code")
.and()
.withClient(jHipsterProperties.getSecurity()
.getClientAuthorization().getClientId())
.secret(jHipsterProperties.getSecurity()
.getClientAuthorization().getClientSecret())
.scopes("web-app")
.autoApprove(true)
.authorizedGrantTypes("client_credentials");
那么“authorizedGrantTypes”在实践中的真正含义是什么?第一个客户端“web_app”将具有不同的类型,包括刷新,因此第二个客户端将能够生成一个 token 作为 client_credentials。有什么不同?
另一个问题,使用“client_credentials”的第二个客户端身份验证的目的是什么?由于这与存储的真实用户断开了连接。微服务到微服务通信?如果配置部署在 Spring Cloud(客户端和 secret 硬编码配置)上以允许通过网关进行任何外部身份验证,则看起来很糟糕。如何防止这种情况?
最佳答案
OAuth 2.0 grant types是您的客户端应用程序获取 token 的不同“方式”。
有一堆articles解释它better ,但这里是一个摘要:
authorization_code
是“经典”的 OAuth 2.0 流程,通过重定向请求用户同意。客户端应用程序经过严格身份验证,因为它必须在获得 token 之前发送其所有凭据( client_id
+ client_secret
+ redirect_uri
)。 implicit
与authorization_code 几乎相同,但适用于公共(public)客户端(Web 应用程序或已安装/移动应用程序)。从用户的角度来看,流程几乎相同,但客户端身份验证较弱。 redirect_uri
是唯一的安全性,因为客户端通过重定向+请求参数接收访问 token 。 password
直截了当:客户端应用程序收集用户凭据,并发送用户凭据 (username
+ password
) 和它自己的凭据 (client_id
+ client_secret
) 以换取 token 。此流程将授权与身份验证混合在一起,并且仅应在没有其他选择时使用(即您自己安装的/移动应用程序,您不希望用户在 native 应用程序和浏览器之间来回切换)。你应该 从不允许第三方使用此流程。 client_credentials
授权是不同的,因为它不涉及用户。它是 HTTP Basic 的替代品。
client_id
) + 密码 (
client_secret
),而是发送其凭据以换取 token 。
关于spring - spring-security-oauth2 authorizedGrantTypes 的配置在实践中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45579623/
例如,在默认的 jhipster UAA 配置中,我们有: clients.inMemory() .withClient("web_app") .scopes("openid") .autoAppro
我是一名优秀的程序员,十分优秀!