我正在为我的ASP.NET MVC项目使用外部登录。
在最新版本的Visual Studio MVC项目模板中,传递给外部提供程序的重定向URL为/signin-microsoft
,/signin-google
等。在外部提供程序成功对用户进行身份验证后,它会重定向浏览器到这个网址。但是,在MVC应用程序内部,我无法在此URL找到方法。
/signin-xxxx
听谁是谁?
我需要排除故障,因为它适用于所有提供商,但不适用于Microsoft。 /signin-microsoft
会将用户重定向到/Account/ExternalLoginCallback?ReturnUrl=%2FHome&error=access_denied
。
答案 0 :(得分:0)
当我发现这件事时,我发现了我的错误。
我错过了
app.UseAuthentication();
之前的弃用
app.UseIdentity()
中的
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
在
行之前app.UseMvc()
在Startup.cs
中这使应用程序处理身份验证结果无论如何我遇到了从身份验证本身收到错误的不同类型的麻烦。
{
"error":"unauthorized_client",
"error_description":"AADSTS70001: Application with identifier '000000004C225DD9' was not found in the directory 9188040d-6c67-4c5b-b112-36a304b66dad
...
始终确保已注册"融合"微软应用程序门户中的应用程序而不是实时应用程序 - 这也是我的问题。