2015-01-15 5 views
2

Я бы хотел создать маркер во время регистрации в WEB API. Я новичок в ASP.NET Identity, я схватил все API-интерфейсы, которые публикуются в ASP.NET Identity, но не вижу никакого API для создания токена. Я пишу набор API-интерфейсов WEB, и потребитель этих API собирается в мобильное приложение и веб-порталы. Пожалуйста, помогите.Идентификатор ASP.NET - создание токена

ответ

2

Что вы ищете является конечной точкой маркера, который можно добавить в конфигурации аутентификации:

OAuthOptions = new OAuthAuthorizationServerOptions 
{ 
    TokenEndpointPath = new PathString("/Token"), 
    Provider = new ApplicationOAuthProvider(PublicClientId), 
    AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"), 
    AccessTokenExpireTimeSpan = TimeSpan.FromDays(14), 
    AllowInsecureHttp = true 
}; 

При отправке запроса POST с именем пользователя и паролем от этой конечной точки вы получите назад маркер носитель, который вы можете использовать в своих мобильных приложениях:

static string GetToken(string userName, string password) 
{ 
    var pairs = new List<KeyValuePair<string, string>> 
        { 
         new KeyValuePair<string, string>("grant_type", "password"), 
         new KeyValuePair<string, string>("username", userName), 
         new KeyValuePair<string, string> ("Password", password) 
        }; 
    var content = new FormUrlEncodedContent(pairs); 
    using (var client = new HttpClient()) 
    { 
     var response = client.PostAsync("http://localhost:62069/Token", content).Result; 
     return response.Content.ReadAsStringAsync().Result; 
    } 
} 

Джон Atten написал nice tutorial об этом. Там вы также найдете соответствующие фрагменты кода.

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

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