首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Google OAuth登录时的字符串格式异常

使用Google OAuth登录时的字符串格式异常
EN

Stack Overflow用户
提问于 2014-12-05 10:06:00
回答 1查看 164关注 0票数 1

我有一个ASP.NET MVC 5网站,我想加入通过谷歌,推特,脸谱和其他一些供应商的外部签名。我正在学习本教程:http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on

现在,我正试着让谷歌登录工作。我在谷歌注册了我的网站,得到了客户的ID和客户端的秘密。我将这两个值保存在PrivateSettings.config文件中,出于安全原因,这两个值不属于源代码管理。

代码语言:javascript
复制
<appSettings>
    <add key="GOOGLE_CLIENT_ID" value="<snip>"/>
    <add key="GOOGLE_CLIENT_SECRET" value="<snip>"/>
 </appSettings>

我在Web.config中引用我的文件

代码语言:javascript
复制
<appSettings file="PrivateSettings.config">
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

我的项目是基于VS2013在我创建这个项目时生成的模板。我遵循与前面提到的教程(个人用户帐户)相同的创建过程,该过程在我的App_Start文件夹中创建了一些配置类。我修改了Startup.Auth.cs文件以增加对Google登录的支持,方法是取消对app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()位的注释,并添加对客户机id和客户端机密的引用,如下所示:

代码语言:javascript
复制
app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
{
    ClientId = ConfigurationManager.AppSettings["GOOGLE_CLIENT_ID"],
    ClientSecret = ConfigurationManager.AppSettings["GOOGLE_CLIENT_SECRET"]
});

我还在项目属性中启用了ssl。

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

代码语言:javascript
复制
var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);

它引发Format of the initialization string does not conform to specification starting at index 0异常。loginInfo不是null (调试时选中,再加上在执行此行之前进行检查,如果loginInfo为null),并包含我从谷歌获得的信息(邮件、名称)。

知道是什么导致的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-06 17:46:11

解决了。当连接字符串出现问题时,将引发此异常。我正在使用实体框架和MySQL。我必须遵循本教程http://www.codeproject.com/Tips/788357/How-to-set-up-application-using-ASP-NET-Identity-w,以便在MySQL提供者中启用ASP.NET标识。现在,谷歌-OAuth和传统的注册和登录同样有效。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27313361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档