2017-01-19 4 views
1

Я использую auth0 для поддержки деталей пользователей. и я следую This article.Ошибка соединения в auth0

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

Когда я пытаюсь использовать пользовательский режим входа в систему, и когда я пытаюсь войти в систему с моими учетными данными, он дает мне ошибку «Соединение не найдено».

Я не уверен, какую связь мне нужно передать здесь.

Ниже приведен код, который я вставляю из указанной статьи.

[HttpPost] 
     public async Task<ActionResult> Login(LoginViewModel vm, string returnUrl = null) 
     { 
      if (ModelState.IsValid) 
      { 
       try 
       { 
        AuthenticationApiClient client = 
         new AuthenticationApiClient(
          new Uri($"https://{ConfigurationManager.AppSettings["auth0:Domain"]}/")); 

        var result = await client.AuthenticateAsync(new AuthenticationRequest 
        { 
         ClientId = ConfigurationManager.AppSettings["auth0:ClientId"], 
         Scope = "openid", 
         Connection = "Database-Connection", // Specify the correct name of your DB connection 
         Username = vm.EmailAddress, 
         Password = vm.Password 
        }); 

        // Get user info from token 
        var user = await client.GetTokenInfoAsync(result.IdToken); 

        // Create claims principal 
        var claimsIdentity = new ClaimsIdentity(new[] 
        { 
        new Claim(ClaimTypes.NameIdentifier, user.UserId), 
        new Claim(ClaimTypes.Name, user.FullName ?? user.Email), 
        new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity", "http://www.w3.org/2001/XMLSchema#string") 
       }, DefaultAuthenticationTypes.ApplicationCookie); 

        // Sign user into cookie middleware 
        AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = false }, claimsIdentity); 

        return RedirectToLocal(returnUrl); 
       } 
       catch (Exception e) 
       { 
        ModelState.AddModelError("", e.Message); 
       } 
      } 

      return View(vm); 
     } 

Ниже ошибки я получаю,

Error Details

Я передаю правильное имя соединения в AuthenticationRequest также, как показано ниже изображения,

Connection name

ответ

2

Вы должны убедиться, что имя Connection, указанное в примере AuthenticationRequest, что вы pas s в AuthenticateAsync отображает существующее соединение с базой данных в вашей учетной записи Auth0.

Более конкретно, вы в настоящее время проходит "Database-Connection" как имя подключения, и вы должны убедиться, что либо соединение с таким именем или изменить код:

new AuthenticationRequest { 
    // ... 
    Connection = "Database-Connection", 
    Username = vm.EmailAddress, 
    Password = vm.Password 
} 
+0

Хорошо, я передаю имя базы данных «Auth0AuthenticationDB», и это позволяет мне войти в систему, но это не дает мне информацию Token. Я получал токен, когда я использовал экран блокировки –

+0

Работаю .. Я передаю токен в ClaimIdentity on Login action –

Смежные вопросы