ASP.NET Core,Microsoft账户登录和AADSTS70001

4
我正在尝试在我的应用程序中使用Microsoft帐户登录。几年前我就尝试过,但由于某些限制(如本地开发等),MSAccount一直很难使用-但现在似乎已经可行了。
我使用了这个docs.microsoft guide,创建了一个全新的ASP.NET Core应用程序,并使用了Microsoft.AspNetCore.Authentication.MicrosoftAccount NuGet包。
当我点击Microsoft登录按钮时,我会被重定向到login.microsoft页面: (我删除了clientId和state)
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=....&scope=https%3A%2F%2Fgraph.microsoft.com%2Fuser.read&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%3A44320%2Fsignin-microsoft&state=....

现在我正在输入我的个人 Microsoft 账户登录信息(例如 foobar@hotmail.com)

接下来我将会被重定向到“输入密码”页面:

https://login.live.com/oauth20_authorize.srf?client_id=....&scope=https%3A%2F%2Fgraph.microsoft.com%2Fuser.read&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%3A44320%2Fsignin-microsoft&state=...&login_hint=...&ui_locales=en-US&display=page&uaid=21775924944348cfb0f84a8c0af34259&issuer=mso&tenant=common&msproxy=1

在我输入密码并点击登录后,我被重定向回到我的应用程序,并显示“未处理的异常”错误。

异常:OAuth令牌终结点失败:状态:BadRequest;报头:Cache-Control:no-store,no-cache 日期:2017年4月12日星期三06:57:18 GMT Pragma:no-cache P3P:CP="DSP CUR OTPi IND OTRi ONL FIN" 服务器:Microsoft-IIS/8.5 Set-Cookie:esctx=AQABAAAAAABnfiG-mA6NTae7CdWW7QfdD3JzLSDc3ZvXogRmsm6vmOSSFDequk0G6rQQlFmOrTaEnzNYcStgzBDm04fNESerSjI3ytHGCzBQkCrOZSy5bYq5CrARZbRfx_oh8wbkqVaK8c1Q6VYyxN43noSOCpff72HxLg9fgB7t4DIPl7QLSjsFVmVxxeN4Xs06bT40AxogAA; domain=.login.microsoftonline.com;路径=/;安全性=高;HttpOnly,x-ms-gateway-slice=004;路径=/;安全性= 高; HttpOnly,stsservicecookie=ests;路径=/;安全性=高;HttpOnly Strict-Transport-Security:max-age=31536000;包括子域名 X-Content-Type-Options:nosniff x-ms-request-id:de0960ca-282b-4832-8d79-7e544fb30500 X-Powered-By:ASP.NET ;正文:{"error":"unauthorized_client","error_description":"AADSTS70001:标识符为'000000004C1CEB08'的应用程序未在目录9188040d-6c67-4c5b-b112-36a304b66dad中找到\r\n Trace ID: de0960ca-282b-4832-8d79-7e544fb30500\r\n Correlation ID:f204ae6b-8169-4b2c-8af6-902f1c62b79d\r\n Timestamp:2017-04-12 06:57:19Z"," error_codes":[70001]," timestamp ":"2017-04-12 06:57:19Z"," trace_id ":"de0960ca-282b-4832-8d79-7e544fb30500"," correlation_id":"f204ae6b-8169-4b2c-8af6-902f1c62b79d"};

过去我们进行了一些Azure Active Directory / Office 365开发,我的MSAccount也可能在一个或两个不同的Azure Active Directories中,但我的目标只是使用我的个人Microsoft Account登录,所以我不确定为什么错误会指向某个AAD目录。

有什么提示可以解决这个问题吗?

2个回答

3
问题与我的应用程序注册有关。在URL下,您可以创建两种不同类型的应用程序 - 确保您使用的是收敛应用程序不是Live SDK应用程序
应用程序ID应该采用GUID格式(Live SDK应用程序的应用程序ID不是GUID)。

2

如下图所示,您的ClientSecret在“Value”下面(而不是在“Secret ID”下面):

enter image description here

根据下面的图片,你的客户端ID是"应用程序(客户端)ID"(而不是"目录(租户)ID"):

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接