AADSTS70002:验证凭据时出错。 AADSTS50126:用户名或密码无效
Posted
技术标签:
【中文标题】AADSTS70002:验证凭据时出错。 AADSTS50126:用户名或密码无效【英文标题】:AADSTS70002: Error validating credentials. AADSTS50126: Invalid username or password 【发布时间】:2019-05-19 15:54:32 【问题描述】:无法获取访问令牌,授权类型:密码
网址:
https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token?resources=https%3A%2F%2Fgraph.microsoft.com%2F
请求:
'grant_type': 'password', 'client_id': <client_id>, 'scope': 'openid User.Read Mail.Read', 'username': '<email_id>', 'client_secret': '<client_secret>, 'password':<password>
回复:
'correlation_id': 'bbe33e96-aeb8-4e8f-8a2f-1330510c298f',
'error_codes': [70002, 50126],
'timestamp': '2018-12-19 06:58:03Z',
'error': 'invalid_grant',
'trace_id': 'c69686fb-a84e-4299-a72c-0cf079381300',
'error_description': 'AADSTS70002: Error validating credentials. AADSTS50126: Invalid username or password\r\nTrace ID: c69686fb-a84e-4299-a72c-0cf079381300\r\nCorrelation ID: bbe33e96-aeb8-4e8f-8a2f-1330510c298f\r\nTimestamp: 2018-12-19 06:58:03Z'
任何人都可以找出问题所在。 用户名和密码正确。
【问题讨论】:
可能是编码问题。正文需要进行 URL 编码。通常,如果您使用框架提供的工具来构建主体,它会为您完成。 【参考方案1】:建议您尝试以下方式:
网址:
Post https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token
内容类型:
application/x-www-form-urlencoded
请求正文:
client_id=<client_id>&
scope=https://graph.microsot.com/Mail.Read openid User.Read&
grant_type=password&
username=<email_id>&
client_secret=<client_secret>&
password=<password>
然后回应:
【讨论】:
@Gaurav Modi,我已经更新了新答案。如果有什么不清楚的地方请告诉我,谢谢。 不应该是graph.microsoFt.com吗?【参考方案2】:对我来说,下面是在 Postman 中解决的。
网址(POST):
https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token
标题:
Content-Type
application/x-www-form-urlencoded
请求正文(文本):
client_id=<client_id>&
scope=https://graph.microsoft.com/.default&
grant_type=client_credentials&
client_secret=<client_secret>
【讨论】:
这里你使用的是grant_type=client_credentials,它肯定会给你错误的grant_type=password @shobhit-walia,我没有说它适用于grant_type=password。我只是提供了一个获取访问令牌的解决方案,对我有用的,我建议了这个解决方案。你能把反对票去掉吗? 嗨@Arpita,是的,您是对的,您的解决方案将有效,但不适用于上述情况,因为在这里,给定问题中明确提到了 grant_type=password。以上是关于AADSTS70002:验证凭据时出错。 AADSTS50126:用户名或密码无效的主要内容,如果未能解决你的问题,请参考以下文章
使用 REST API 时出错:“error_description”:“AADSTS7000215:提供的客户端密码无效。\r\n跟踪 ID:
试图让Azure中美国州长的授权代码时出错:获得“无效的资源AADSTS650057”
登录 Azure Web 应用程序失败并显示“AADSTS50079:用户需要使用多重身份验证”