2016-09-06 60 views
0

我正在使用授權碼流程,並試圖使用用戶信息端點獲取用戶信息,但我沒有獲得索賠。我爲IncludeInIdToken啓用了一些類似名稱概要郵件的聲明,並且在解碼Idtoken時我無法看到上述聲明。 我試着通過調試方法GetProfileDataAsync,在這裏我發現「名稱」屬性爲空,因爲我使用的AD組我需要這個名稱屬性在這裏。 我試圖在LocalLoginAsync方法中將「Name」保存到全局變量中,並在GetProfileDataAsync方法中使用它。我現在已經在響應增加的權利要求到TaskResult,但我正在計數「0」身份驗證服務器3:用戶信息端點返回空聲明

當我請求令牌通過使用代碼我能夠看到要求

Claims

以下結果

,我沒能看到IdToken這些說法, Id_token

接下來,時間使用時,通過使用訪問令牌,我沒有得到,除了「亞健康」或沒有Name屬性的任何索賠端點用戶信息請求。

我怎樣才能獲得與用戶信息端點響應要求

回答

0

我已經調試代碼嘗試和發現的問題,因爲我做了錯誤像

回報Task.FormResult(identity.Claims 。凡(X => context.RequestedClaimTypes.Contains(x.Types)));

而不是做

context.IssuedClaims = identity.Claims.where(X => context.RequestedClaimTypes.Contains(x.Types)); return Task.FromResult(0);

不過還是我得到的用戶名(Name)屬性空與用戶信息端點..,

0

我假設你正在請求在您的要求profile範圍。如果這是真的,那麼username不是有效範圍,並且不構成該範圍的list of standard claims的一部分。您應該將您的聲明重命名爲nicknamepreferred_username

相關問題