首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在C#中获取Azure Oauth V2访问令牌

无法在C#中获取Azure Oauth V2访问令牌
EN

Stack Overflow用户
提问于 2020-09-29 09:13:26
回答 1查看 46关注 0票数 0

我正在尝试从Azure Web App...C# MVC应用获取访问令牌。这是我正在使用的代码。

代码语言:javascript
复制
    public string GetToken()
    {
        string authority = string.Format(CultureInfo.InvariantCulture, AuthEndPoint, tenantId);

        var credential = new ClientCredential(clientId, clientSecret);
        AuthenticationContext authContext = new AuthenticationContext(authority,true);

        var token = authContext.AcquireTokenAsync(AzureResourceID, credential).Result.AccessToken;
        return token.ToString();
    }

如果我去掉授权字符串的末尾的V2.0,应用程序将成功返回V1.0访问令牌。

如何获取V2.0令牌?

EN

回答 1

Stack Overflow用户

发布于 2020-09-29 12:09:11

您无法从资源https://database.windows.net获取v2.0访问令牌,令牌的版本由资源决定,而不是客户端。

访问令牌是基于令牌的audience创建的,在您的示例中为https://database.windows.net,其相关的企业应用程序是Azure SQL Database,其Application ID022907d3-0f1b-48f7-badc-1ba6abab6d66,它是您的客户端请求令牌的资源,它的accessTokenAcceptedVersionnull,如果该值为null,则该参数默认为1,这意味着无论您在授权中使用的是v1.0还是v2.0端点,您都可以从该资源获取v1.0令牌。

请参见- https://docs.microsoft.com/en-us/azure/active-directory/develop/access-tokens

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

https://stackoverflow.com/questions/64111548

复制
相关文章

相似问题

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