C# 使用Google OAuth登录时出现字符串格式异常

C# 使用Google OAuth登录时出现字符串格式异常,c#,asp.net,oauth-2.0,google-oauth,C#,Asp.net,Oauth 2.0,Google Oauth,我有一个ASP.NETMVC5网站,我想通过Google、Twitter、Facebook和其他一些提供商添加外部登录。我将遵循本教程: 现在,我正在努力让谷歌登录工作。我在谷歌注册了我的网站,获得了客户ID和客户机密。我将这两个值保留在PrivateSettings.config文件中,出于安全原因,我将其保留在源代码管理之外 <appSettings> <add key="GOOGLE_CLIENT_ID" value="<snip>"/>

我有一个ASP.NETMVC5网站,我想通过Google、Twitter、Facebook和其他一些提供商添加外部登录。我将遵循本教程:

现在,我正在努力让谷歌登录工作。我在谷歌注册了我的网站,获得了客户ID和客户机密。我将这两个值保留在PrivateSettings.config文件中,出于安全原因,我将其保留在源代码管理之外

<appSettings>
    <add key="GOOGLE_CLIENT_ID" value="<snip>"/>
    <add key="GOOGLE_CLIENT_SECRET" value="<snip>"/>
 </appSettings>
我还在项目属性中启用了ssl

当我启动我的应用程序(在本地,我还没有部署它)并尝试使用我的个人帐户通过Google登录时,登录过程会在
public async Task ExternalLoginCallback(string returnUrl)
方法中失败,如下所示:

var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);
它抛出初始化字符串的
格式不符合从索引0开始的规范的异常
loginInfo
不为空(在调试时选中,并且在执行此行之前有一个检查,如果
loginInfo
为空,则会重定向该行),并包含来自Google的我的信息(邮件、姓名)


知道这是什么原因吗?

已解决。当连接字符串中存在问题时,会引发此异常。我正在使用实体框架和MySQL。我必须按照本教程使用MySQL提供程序启用ASP.NET标识。现在GoogleOAuth可以工作了,传统的注册和登录也可以

app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
{
    ClientId = ConfigurationManager.AppSettings["GOOGLE_CLIENT_ID"],
    ClientSecret = ConfigurationManager.AppSettings["GOOGLE_CLIENT_SECRET"]
});
var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);