3

我正在尝试在我的应用程序中使用 Microsoft 帐户登录。几年前我尝试过,但MSAccount由于一些限制(本地主机开发等),总是很难使用——但现在看来这是可能的。

我使用了这个docs.microsoft 指南并创建了一个全新的 ASP.NET Core 应用程序并使用了Microsoft.AspNetCore.Authentication.MicrosoftAccount NuGet package.

当我单击 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

在我输入密码并单击登录后,我被重定向回我的应用程序"unhandled exception occurred"

例外:OAuth 令牌端点故障:状态:BadRequest;标头:缓存控制:无存储,无缓存日期:2017 年 4 月 12 日星期三 06:57:18 GMT 编译指示:无缓存 P3P:CP="DSP CUR OTPi IND OTRi ONL FIN" Server: Microsoft-IIS/8.5 Set-Cookie: esctx=AQABAAAAAABnfiG-mA6NTae7CdWW7QfdD3JzLSDc3ZvXogRmsm6vmOSSFDequk0G6rQQlFmOrTaEnzNYcStgzBDm04fNESerSjI3ytHGCzBQkCrOZSy5bYq5CrARZbRfx_oh8wbkqVaK8c1Q6VYyxN43noSOCpff72HxLg9fgB7t4DIPl7QLSjsFVmVxxeN4Xs06bT40AxogAA; 域=.login.microsoftonline.com;路径=/; 安全的; HttpOnly, x-ms-gateway-slice=004; 路径=/; 安全的; HttpOnly, stsservicecookie=ests; 路径=/; 安全的; HttpOnly Strict-Transport-Security: max-age=31536000; includeSubDomains X-Content-Type-Options: nosniff x-ms-request-id: de0960ca-282b-4832-8d79-7e544fb30500 X-Powered-By: ASP.NET ;Body: {"error":"

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

任何提示如何解决这个问题?

4

2 回答 2

3

问题与我的应用注册有关。在URL 下,您可以创建不同的应用程序类型 - 确保您使用的是融合应用程序,而不是(!)Live SDK 应用程序

应用程序 ID 应采用 guid 的形式(实时 SDK 应用程序应用程序 id 不是 guid)。

于 2017-04-12T09:07:30.193 回答
0

如下图,您的 ClientSecret 在“Value”下(不在“Secret ID”下):

在此处输入图像描述

如下图所示,您的 ClientId 是“应用程序(客户端)ID”(不是“目录(租户)ID”):

在此处输入图像描述

于 2022-02-11T11:35:32.823 回答