首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MVC应用程序中从ClaimsPrincipal获取bootStrapContext令牌

在MVC应用程序中从ClaimsPrincipal获取bootStrapContext令牌
EN

Stack Overflow用户
提问于 2016-01-01 14:16:53
回答 1查看 2.2K关注 0票数 3

我正在MVC中开发应用程序,我想使用Azure active directory验证我的用户。

为了实现这一点,我在Azure active directory中使用应用程序URL创建了应用程序,并为应用程序分配了权限。

我还将我的应用程序配置为使用Azure AD身份验证。现在,当我尝试访问bootstrapContext.Token时,它总是为空。

我正在使用下面的方法来访问bootstrapContext。

代码语言:javascript
复制
var bootstrapContext = ClaimsPrincipal.Current.Identities.First().BootstrapContext as System.IdentityModel.Tokens.BootstrapContext;

string userAccessToken = bootstrapContext.Token;

我对此进行了搜索,发现我必须更新我的web.config。所以我把它更新如下

代码语言:javascript
复制
<system.identityModel>
<identityConfiguration saveBootstrapContext="true">
<system.identityModel>

我的主要目标是为authContext.AcquireToken方法使用UserAssertion。而UserAssertion需要bootstrapContext.Token。

根据MvdD的建议,我也尝试了下面的东西

代码语言:javascript
复制
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
    Wtrealm = realm,
    MetadataAddress = metadataUri,
    TokenValidationParameters = new TokenValidationParameters
    {
        SaveSigninToken = true
    }
});

但是现在,我得到了下面的错误

代码语言:javascript
复制
AADSTS50027: Invalid JWT token. AADSTS50027: Invalid JWT token. Token format not valid.

Trace ID: 0d052707-9aaf-4037-b7c9-4c4aa7cfcc72

Correlation ID: 9a00573b-cfe9-4665-ab81-c0a03eace9d8

Timestamp: 2016-02-08 05:18:01Z

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2016-01-04 14:10:43

从你的问题中并不清楚你使用的是哪种协议或什么库。

如果您使用的是Katana中间件,则应该在适当的AuthenticationOptions类中设置SaveSigninToken属性。对于WS-联合协议,它看起来像这样: app.UseWsFederationAuthentication(

代码语言:javascript
复制
app.UseWsFederationAuthentication(
    new WsFederationAuthenticationOptions
    {
        Wtrealm = realm,
        MetadataAddress = metadataUri,
        TokenValidationParameters = new TokenValidationParameters
        {
            SaveSigninToken = true
        }
    }
);

如果使用的是System.IdentityModel,则需要设置IdentityConfiguration对象的SaveBootstrapContext属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34554009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档