【问题标题】:Accessing token used by Identity External Authentication in .NET Core在 .NET Core 中访问 Identity External Authentication 使用的令牌
【发布时间】:2018-12-25 06:56:48
【问题描述】:

我在基于Microsoft Account external login setup with ASP.NET Core 的应用程序中添加了一个使用Microsoft 帐户的登录。

我生成自己的 JWT 令牌,用于在我的应用程序中查询端点时授权用户,但我想“代表用户”向 Microsoft Graph 询问某些文档。我在apps.dev.microsoft.com 注册应用程序时添加了正确的声明。

是否可以访问 Identity 使用的不记名令牌来询问 Graph,或者如果我只想在我的应用中执行一次登录体验,是否有任何其他方式?

让我担心的一件事是:

ExternalLoginInfo info = await this.signInManager.GetExternalLoginInfoAsync();

确实包含 0 AuthenticationTokens

【问题讨论】:

    标签: c# asp.net-core microsoft-graph-api


    【解决方案1】:

    要访问访问令牌必须将属性 SaveTokens 设置为 true。

    services.AddAuthentication().AddMicrosoftAccount(microsoftOptions =>
    {
        microsoftOptions.ClientId = Configuration["Authentication:Microsoft:ApplicationId"];
        microsoftOptions.ClientSecret = Configuration["Authentication:Microsoft:Password"];
        microsoftOptions.SaveTokens = true;
    });
    

    这会将access_tokenrefresh_token(如果可用)添加到声明中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-15
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      相关资源
      最近更新 更多