我試圖設置WSO2身份服務器使用OpenId連接。我目前已應用以下設置Here: Setup WSO2。WSO2身份服務器OpenId連接Owin
它歸結爲我使用居民身份提供商,我已經爲我的應用程序「CoolApp」設置了服務提供商。
我配置了「OAuth/OpenID連接配置」並設置了一個回調URL。
有沒有一個簡單的例子如何在JavaScript中使用它?
我玩過身份識別服務器3,他們有一個客戶端oidc-client.js,它與身份識別服務器3結合使用時效果很好。但是,我似乎無法使用WSO2身份驗證服務器。
我會有關該問題的錯誤的方式,我其實是想用的是owin中間件就像他們試圖here和here,以保護我的網站。
所以現在我有以下幾點:
我把一個破發點中SecurityTokenValidated和AuthenticationFailed。轉到頁面,我按照預期重定向到WSO2身份服務器。當我登錄並返回到頁面時,我的兩個斷點均未命中且未登錄。
使用WSO2 Identity Server 5.1.0的進程。
@farasath,你能幫我一下,其他人看起來像我們都遇到同樣的問題,還沒有找到解決方案。
在進一步調查過程中,我發現使用帶有response_type =「code」的代碼流也不起作用,因爲OIDC中間件不支持它(請參閱here和here)。
找到@pinpoint的建議,ASP.net核心確實支持這個。但這不是一個真正的選擇。
@Hos回答here:
隨着WSO2的Identity Server 5.0.0 ID連接 「id_token」 響應類型未實現。
我沒有得到他在帖子中提到的錯誤響應,但是對於我來說,使用這些版本的結果保持不變,斷點永遠不會被擊中。所以現在我想知道這應該在5.1.0還是在5.2.0-Beta中工作,或者這仍然是WIP。
@farasath,謝謝您的回覆這裏的日誌
[2016-08-16 08:11:39,998] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Validate Client information request for client_id : fgx4M5e27NJqgRIs8nu5aL7Jw3oa and callback_uri http://localhost:57815/
[2016-08-16 08:11:40,074] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Registered App found for the given Client Id : fgx4M5e27NJqgRIs8nu5aL7Jw3oa ,App Name : CoolApp, Callback URL : http://localhost:57815/
[2016-08-16 08:11:50,948] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Authorization Request received for user : [email protected], Client ID : fgx4M5e27NJqgRIs8nu5aL7Jw3oa, Authorization Response Type : id_token token, Requested callback URI : http://localhost:57815/, Requested Scope : openid
[2016-08-16 08:11:50,967] INFO {org.wso2.carbon.identity.oauth.config.OAuthServerConfiguration} - The default OAuth token issuer will be used. No custom token generator is set.
[2016-08-16 08:11:50,985] INFO {org.wso2.carbon.identity.oauth2.dao.TokenMgtDAO} - Thread pool size for session persistent consumer : 100
[2016-08-16 08:11:50,991] DEBUG {org.wso2.carbon.identity.oauth2.dao.TokenPersistenceTask} - Access Token context persist consumer is started
... This one repeats about 100 times ...
[2016-08-16 08:11:51,031] DEBUG {org.wso2.carbon.identity.oauth2.authz.AuthorizationHandlerManager} - Successfully created AppInfoCache under OAuthCacheManager
[2016-08-16 08:11:51,206] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Added OAuthAuthzReqMessageContext to threadlocal
[2016-08-16 08:11:52,180] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.TokenResponseTypeHandler} - No active access token found in cache for Client ID : fgx4M5e27NJqgRIs8nu5aL7Jw3oa, User ID : [email protected] and Scope : openid
[2016-08-16 08:11:52,199] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.TokenResponseTypeHandler} - No access token found in database for Client ID : fgx4M5e27NJqgRIs8nu5aL7Jw3oa, User ID : [email protected] and Scope : openid. Therefore issuing new access token
[2016-08-16 08:11:52,208] DEBUG {org.wso2.carbon.identity.oauth2.dao.TokenPersistenceTask} - Access Token Data persisting Task is started to run
[2016-08-16 08:11:52,208] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.TokenResponseTypeHandler} - Persisted Access Token for Client ID : fgx4M5e27NJqgRIs8nu5aL7Jw3oa, Authorized User : [email protected], Timestamp : 2016-08-16 08:11:52.207, Validity period (s) : 3600, Scope : openid, Callback URL : http://localhost:57815/, Token State : ACTIVE and User Type : APPLICATION_USER
[2016-08-16 08:11:52,233] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.TokenResponseTypeHandler} - Access Token was added to OAuthCache for cache key : fgx4M5e27NJqgRIs8nu5aL7Jw3oa:[email protected]:openid
[2016-08-16 08:11:52,298] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Cleared OAuthAuthzReqMessageContext
第二次,我跑了我得到這個日誌:
[2016-08-16 08:30:17,216] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Validate Client information request for client_id : fgx4M5e27NJqgRIs8nu5aL7Jw3oa and callback_uri http://localhost:57815/
[2016-08-16 08:30:17,222] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Registered App found for the given Client Id : fgx4M5e27NJqgRIs8nu5aL7Jw3oa ,App Name : CoolApp, Callback URL : http://localhost:57815/
[2016-08-16 08:30:23,178] DEBUG {org.wso2.carbon.identity.oauth2.OAuth2Service} - Authorization Request received for user : [email protected], Client ID : fgx4M5e27NJqgRIs8nu5aL7Jw3oa, Authorization Response Type : id_token token, Requested callback URI : http://localhost:57815/, Requested Scope : openid
[2016-08-16 08:30:23,189] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Added OAuthAuthzReqMessageContext to threadlocal
[2016-08-16 08:30:23,195] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.TokenResponseTypeHandler} - Retrieved active Access Token for Client Id : fgx4M5e27NJqgRIs8nu5aL7Jw3oa, User ID :[email protected] and Scope : openid from cache
[2016-08-16 08:30:23,203] DEBUG {org.wso2.carbon.identity.oauth2.authz.handlers.TokenResponseTypeHandler} - Access Token is valid for another 3264638ms
[2016-08-16 08:30:23,218] DEBUG {org.wso2.carbon.identity.oauth2.util.OAuth2Util} - Cleared OAuthAuthzReqMessageContext
現在我改變了我將uri重定向到: RedirectUri =「http://localhost:57815/Account/ExternalLoginCallback/」,
並且該函數中的logInfo始終爲空 var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
谷歌搜索,發現this post有人有類似的問題。
所以,現在林留下了以下情況:
- 斷點在SecurityTokenValidated從不打
- AuthenticationFailed中的斷點從未命中
- var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();在我的回調中始終爲空
@farasath我不得不修改我的問題在像我一樣使用應答代替(這是由評論家指給我看)。很不幸,你的評論也丟失了。但是就像你要求我在打開日誌的情況下運行一樣,我也用提琴手做了一些進一步的調查。 –