2017-06-12 54 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 
相關問題