AspNet Core Identity的GetExternalLoginInfoAsync始终为null
创始人
2024-09-20 05:30:17
0

问题描述: 在使用AspNet Core Identity的GetExternalLoginInfoAsync方法时,始终返回null值。

解决方法:

  1. 确保已经正确配置了AspNet Core Identity服务。在Startup.cs文件的ConfigureServices方法中添加以下代码:
services.AddIdentity()
    .AddEntityFrameworkStores()
    .AddDefaultTokenProviders();
  1. 确保已经正确配置了第三方登录选项。在Startup.cs文件的ConfigureServices方法中添加以下代码:
services.AddAuthentication()
    .AddGoogle(options =>
    {
        options.ClientId = "YOUR_GOOGLE_CLIENT_ID";
        options.ClientSecret = "YOUR_GOOGLE_CLIENT_SECRET";
    })
    .AddFacebook(options =>
    {
        options.AppId = "YOUR_FACEBOOK_APP_ID";
        options.AppSecret = "YOUR_FACEBOOK_APP_SECRET";
    });
  1. 确保在登录控制器的外部登录回调方法中调用了GetExternalLoginInfoAsync方法。在AccountController.cs文件中的ExternalLoginCallback方法中添加以下代码:
public async Task ExternalLoginCallback(string returnUrl = null, string remoteError = null)
{
    if (remoteError != null)
    {
        // 处理错误
        return RedirectToAction("Login");
    }
    var info = await _signInManager.GetExternalLoginInfoAsync();
    if (info == null)
    {
        // 处理错误
        return RedirectToAction("Login");
    }
    // 处理登录逻辑
    // ...
}
  1. 确保在登录视图中正确渲染了第三方登录按钮。在Login.cshtml文件中添加以下代码:

@Html.ActionLink("使用Google登录", "ExternalLogin", new { provider = "Google" })

@Html.ActionLink("使用Facebook登录", "ExternalLogin", new { provider = "Facebook" })

通过以上步骤,可以解决AspNet Core Identity的GetExternalLoginInfoAsync始终返回null的问题。请根据实际情况替换YOUR_GOOGLE_CLIENT_ID、YOUR_GOOGLE_CLIENT_SECRET、YOUR_FACEBOOK_APP_ID和YOUR_FACEBOOK_APP_SECRET为正确的值。

相关内容

热门资讯

透视软件!wepoker软件安... 透视软件!wepoker软件安装包(透视)hhpoker万能辅助器(本来是真的有挂)-哔哩哔哩1、在...
透视app!wpk软件是正规的... 透视app!wpk软件是正规的吗(透视)wpk透视工作室(一贯真的是有透视)-哔哩哔哩进入游戏-大厅...
透视攻略!德普之星有透视辅助吗... 透视攻略!德普之星有透视辅助吗(透视)德普之星私人局透视(确实真的有脚本)-哔哩哔哩亲,关键说明,德...
透视工具!wepoker模拟器... 透视工具!wepoker模拟器哪个(透视)wepoker国外版透视(一贯是真的有透视)-哔哩哔哩在进...
透视工具!wejoker黑侠辅... 透视工具!wejoker黑侠辅助器(透视)wepoker有没有机器人(竟然一直都是有挂)-哔哩哔哩1...
透视神器!hhpoker辅助挂... 透视神器!hhpoker辅助挂(透视)hhpoker到底可以作必弊码(原来一直总是有挂)-哔哩哔哩1...
透视神器!模拟器打开hhpok... 透视神器!模拟器打开hhpoker(透视)hhpoker免费透视脚本(切实有透视)-哔哩哔哩1、首先...
透视攻略!hh poker软件... 透视攻略!hh poker软件(透视)hhpoker德州机器人(原来一直总是有透视)-哔哩哔哩1、很...
透视软件!潮汕激k辅助(辅助)... 透视软件!潮汕激k辅助(辅助)新九五辅助微信脚本(其实存在有挂)-哔哩哔哩一、新九五辅助微信脚本可以...
透视脚本!aapoker脚本怎... 透视脚本!aapoker脚本怎么用(透视)aapoker怎么拿好牌(一贯一直都是有透视)-哔哩哔哩1...