我有一個OAuth Authserver應用程序,一個Web應用程序(支持OAuth SSO),一個Android應用程序(需要訪問其他資源,在Web應用程序)春天的oauth2 ResourceOwnerPassword流爲單次登錄
我想實現彈簧的oauth2採取OAuth的香草的例子(最新一個沒有JWT)春天開機樣品project.The項目有以下客戶端配置
security.oauth2.client.clientId: acme
security.oauth2.client.clientSecret: acmesecret
security.oauth2.client.authorized-grant-types: authorization_code,refresh_token,password
security.oauth2.client.scope: openid
所以邏輯流程是這樣的用戶嘗試(如果我錯了指正)訪問ui應用程序 - > zuul代理重定向(帶客戶端詳細信息)到身份驗證服務器 - >使用憑據登錄(受保護/授權url) - >授權範圍 - >用令牌/授權碼返回。
如何消除用戶授權步驟(對於Android應用的目的,我想資源所有者apporach)。我改變了這樣的我的客戶端配置遵循
clients.inMemory().withClient("****").secret("*****").authorities("ROLE_USER")
.authorizedGrantTypes("password", "refresh_token").scopes("read", "write");
,但我從authserver應用得到錯誤(DefaultRedirectResolver的.java)
「A REDIRECT_URI只能由隱式或authorization_code 許可類型中使用的」。
如果我在我的網絡用戶界面應用程序
security:
oauth2:
client:
accessTokenUri: http://localhost:9097/uaa/oauth/token
userAuthorizationUri: http://localhost:9097/uaa/oauth/authorize
clientId: ****
clientSecret: ****
resource:
userInfoUri: http://localhost:9097/uaa/user
的單點登錄有我security.oauth性能下面,使用或不能夠資源所有者密碼的方法嗎?如果是這樣,我應該改變作爲配置的一部分?
感謝您的回覆。所以對於android的目的我應該有不同的客戶端?更多的相同的錯誤的東西被稱爲春季問題的改進。我會發布鏈接 – karthik