2015-08-30 88 views
5

我有一個IdentityServer3實例建立起來的,我現在用的是授權端點(/核心/連接/授權)請求令牌。的Identity Server 3訪問令牌驗證端點失敗,觀衆驗證失敗

我的應用程序請求令牌是一款iOS應用程序。

我通過以下參數;

client_id=<clientid> 
response_type=id_token 
scope=openid 
redirect_uri=<redirecturi> 
state=<state> 
nonce=<nonce> 

這就開闢了一個網頁視圖對我來說,我輸入我的憑據,並返回redirect_uri與附加到URL的#id_token

爲了驗證我把它傳遞給我的IdentityServer的訪問令牌驗證端點(/核心/連接/ accesstokenvalidation)令牌。我追加?token=<access token received from login>

然後我得到的迴應

{ "Message": "invalid_token" } 

當我檢查日誌

System.IdentityModel.Tokens.SecurityTokenInvalidAudienceException: IDX10214: Audience validation failed. Audience: '<clientid>'. Did not match: validationParamters.ValidAudience: '<identity_server_host>/resources' or validationParameters.ValidAudiences: 'null' 

什麼我錯在這裏做什麼?當然,創建令牌的IdentityServer應該驗證它是否有效?

+0

你有沒有找到解決這個訪問令牌? –

+0

是的,請參閱下面的答案 –

回答

3

在您的示例中,您不請求訪問令牌。 隨着

response_type=id_token 

您只能獲得身份令牌,您可以驗證對身份令牌端點。 爲了讓您的要求,您必須改變你的請求

response_type=id_token token 
+0

謝謝。這對我有效。 –