0

Хорошо, гуру, вот моя проблема.DotNetOpenAuth entityframework

У меня есть проект VB asp.net, созданный в visual studio 2012. Для простоты я создал новый проект.

Я добавил свой facebook апи информацию (для аутентификации)

аутентификации Facebook работает.

Я использовал интерфейс NuGet для обновления openAuth. Проверка подлинности по-прежнему работает.

Я использовал NuGet для обновления сущности (не имеет значения, какая версия я обновляю до), а функция netnet open auth больше не работает. Моя проблема заключается ошибка выполнения во время проверки registerexternallogin.aspx ли или нет авторизованы местное применение в. Это строка кода в registerExternalLogin.aspx (создан визуальный студии автоматически с проектом)

' User has logged in with provider successfully 
    ' Check if user is already registered locally 
    If OpenAuth.Login(authResult.Provider, authResult.ProviderUserId, createPersistentCookie:=False) Then 
     RedirectToReturnUrl() 
    End If 

Stack Трассировка:

[NullReferenceException: Object reference not set to an instance of an object.] 

Microsoft.AspNet.Membership.OpenAuth.OpenAuthDataProvider.GetUserNameFromOpenAuth (String openAuthProvider, String openAuthId) +51 DotNetOpenAuth.AspNet.OpenAuthSecurityManager.Login (String providerUserId, Boolean createPersistentCookie) +66 Microsoft.AspNet .mem bership.OpenAuth.OpenAuth.Login (String ProviderName, String providerUserId, Boolean createPersistentCookie) +197 Account_RegisterExternalLogin.ProcessProviderResult() +588 System.Web.UI.Control.LoadRecursive() +70 System.Web.UI.Page. ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3177

Задание моего выполнения использовать entityframework 5.0.x не решает проблему (в данном случае это было обновление до 6) и откат entityframework с помощью командной строки не исправить вопрос.

Заранее спасибо. Mike

ответ

0

У меня была эта проблема сегодня после нескольких часов тестирования. Сначала он работал без проблем. Затем я удалил пользователя и участника из ранее созданной БД и удалил все файлы cookie сайта (на всякий случай).

Однако единственный способ, которым я нашел преодоление ошибки (без изменений в коде), - снова протестировать другой логин. (Другая учетная запись Twitter).

0

OK, только что вернули тестирование с моей первоначальной учетной записью Twitter и снова получили ошибку.

Я установил ошибку:

  1. Удалить соответствующие записи из таблиц [aspnet_Users], [aspnet_Membership], [UsersOpenAuthAccounts] и [UsersOpenAuthData].

  2. Перезапустить веб-сайт на IIS.

  3. Удалить cookies сайта.

Проблема решена.