2017-06-12 128 views
0

我正在编写一个Springboot应用程序,需要将用户身份验证到另一个组提供的OAuth2客户端。 OAuth2客户端提供两种身份验证方案:formsso。我正在构建的应用程序需要使用sso方案,因为应用程序无法将用户重定向到登录表单。如何为OAuth2提供自定义客户端身份验证方案属性

Spring安全包含一个枚举,它提供了可以使用的security.oauth2.client.client-authentication-scheme选项,sso不是提供的,所以我需要能够以某种方式扩展它或提供一个自定义选项。

最终的应用程序需要生成GET要求,将采取以下形式:https://iapi.mycompany.com/authentication-service/v2/authorize?response_type=code&client_id=myClientIdHere&redirect_uri=https:/myclient.mycompany.com/redirect&state=someStateString&login_method=sso

至于我可以告诉它真的只是login_method=sso一部分是需要生产定制部件。关于如何说服Spring安全人员为我做这件事的任何想法?

回答

0

原来的解决办法是注释掉application.properties中的security.oauth2.client.client-authentication-scheme属性,并将?login-method=sso附加到security.oauth2.client.user-authorization-uri属性。

最后一个属性是这样的:

security.oauth2.client.user-authorization-uri=https://iapi.mycompany.com/authentication-service/v2/authorize?login_method=sso 
相关问题