首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用oauth2从微软获取token v2

如何使用oauth2从微软获取token v2
EN

Stack Overflow用户
提问于 2020-06-09 00:50:28
回答 2查看 637关注 0票数 0

我正在尝试使用web服务。我需要获取令牌并在authorization头中发送此令牌,我正在获取令牌,但在服务器中有一个问题,因为令牌是v1,而他们正在使用v2。

这是我用来获取代码的url。

https://login.microsoftonline.com/tenant/oauth2/v2.0/authorize?response_type=code&client_id=cliendId&redirect_uri=redirectURI&scope=openid+profile

这是获取令牌的url。

使用authorization标头中第一个标注的代码执行https://login.microsoftonline.com/tenant/oauth2/v2.0/token

这个调用返回一个令牌,但是当我将令牌发送到我需要使用的ws时,我得到了一个错误,当被问及错误时,他们告诉我,我发送的令牌是v1,is需要是v2。

这是我的令牌iss:"https://sts.windows.net/tenant/

但需要是: iss:"https://login.microsoftonline.com/tenant/v2.0

我的网站上的错误是:

Status=Unauthorized,StatusCode=401承载error="invalid_token",error_description=“签名无效”

在服务器中是:

未对Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler(Information):载体进行身份验证。

你有没有办法获得v2令牌。

EN

回答 2

Stack Overflow用户

发布于 2020-06-09 02:05:53

你需要将你的应用注册设置为使用v2终结点。

可以为您提供帮助微软文档是here.i.e。强制AzureAD向某些自定义WebApi颁发V2访问令牌是在其清单accessTokenAcceptedVersion中将其显式设置为2.0

票数 0
EN

Stack Overflow用户

发布于 2020-06-11 03:53:42

听起来你可能得到了默认的令牌(在JWT头中有一个'nonce‘字段),它被设计为供Graph API使用,并且在你自己的API中总是无法通过验证。

Azure AD 2.0设置非常令人困惑,但我有一篇博客文章和一些代码可以帮助你。请参阅博客文章的步骤3和7,以了解这两种类型的访问令牌的差异:

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

https://stackoverflow.com/questions/62267206

复制
相关文章

相似问题

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