Spring Security OAuth2:客户端作为javascript应用程序

时间:2018-05-09 06:59:18

标签: oauth-2.0 spring-security-oauth2

我在Spring启动应用程序中使用client_credentials授权类型。在client_credentials grant_type中,客户端向令牌端点发出请求。如果access token request有效且已获得授权,则authorization server会发出访问令牌。

localhost:8181/OUTPOST/oauth/token?grant_type=client_credentials&client_id=myClientId&client_secret=secret

问题是我的客户端是一个javascript应用程序。客户端应用程序无法安全地存储客户端凭据,因此client_secret没有意义。

ImplicitpasswordAuthorization code需要user details才能生成令牌。但我没有任何用户,我只需要验证我的客户端应用程序。

我应该使用哪种grant_type来支持我的要求?

2 个答案:

答案 0 :(得分:0)

隐含的OAuth2流程是您正在寻找的。来自OAuth2规范的详细信息:https://tools.ietf.org/html/rfc6749#section-1.3.2

答案 1 :(得分:0)

我认为您的要求不是真的有效。没有用户凭据,无法通过OAuth2安全地验证JavaScript客户端。这意味着可以访问JavaScript应用的每个人都将通过身份验证。

如果您想在没有用户凭据的情况下限制对此应用程序的访问,最好添加网络级策略,例如IP范围白名单。