Arhn - архитектура программирования

Исключение формата строки при входе через Google OAuth

У меня есть веб-сайт ASP.NET MVC 5, и я хочу добавить внешний вход через Google, Twitter, Facebook и некоторых других поставщиков. Я следую этому руководству: http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-и-openid-sign-on

Прямо сейчас я пытаюсь заставить работать вход в Google. Я зарегистрировал свой сайт в Google и получил идентификатор клиента и секрет клиента. Я храню эти два значения в файле PrivateSettings.config, который я храню вне системы контроля версий по соображениям безопасности.

<appSettings>
    <add key="GOOGLE_CLIENT_ID" value="<snip>"/>
    <add key="GOOGLE_CLIENT_SECRET" value="<snip>"/>
 </appSettings>

И я ссылаюсь на свой файл в Web.config

<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() бит и добавив ссылку на идентификатор клиента и секрет клиента, например:

app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
{
    ClientId = ConfigurationManager.AppSettings["GOOGLE_CLIENT_ID"],
    ClientSecret = ConfigurationManager.AppSettings["GOOGLE_CLIENT_SECRET"]
});

Я также включил ssl в свойствах проекта.

Когда я запускаю свое приложение (локально, я его еще не развернул) и пытаюсь войти через Google, используя свою личную учетную запись, процесс входа завершается с ошибкой в ​​методе public async Task<ActionResult> ExternalLoginCallback(string returnUrl), в этой строке:

var result = await SignInManager.ExternalSignInAsync(loginInfo, isPersistent: false);

Выдает Format of the initialization string does not conform to specification starting at index 0 исключение. loginInfo не является нулевым (проверяется при отладке, плюс есть проверка перед выполнением этой строки, которая перенаправляет, если loginInfo равна нулю) и содержит мою инфу из гугла (почта, имя).

Любая идея, что может вызвать это?


Ответы:


1

Решено. Это исключение выдается при возникновении проблемы в строке подключения. Я использую Entity Framework и MySQL. Мне пришлось следовать этому руководству http://www.codeproject.com/Tips/788357/How-to-set-up-application-using-ASP-NET-Identity-w, чтобы включить удостоверение ASP.NET с поставщиком MySQL. Теперь работает Google-OAuth, как и традиционная регистрация и вход.

06.12.2014
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..