2
我想在WEB API中註冊期間生成令牌。我是ASP.NET Identity的新手,我抓住了所有由ASP.NET Identity發佈的開箱API,但沒有看到任何API來生成令牌。我正在編寫一組WEB API,這些API的使用者正在轉向移動應用程序和基於Web的門戶。 請幫助。ASP.NET身份 - 生成令牌
我想在WEB API中註冊期間生成令牌。我是ASP.NET Identity的新手,我抓住了所有由ASP.NET Identity發佈的開箱API,但沒有看到任何API來生成令牌。我正在編寫一組WEB API,這些API的使用者正在轉向移動應用程序和基於Web的門戶。 請幫助。ASP.NET身份 - 生成令牌
你所尋找的是令牌端點,您可以在認證的配置中添加:
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;
}
}
約翰安泰信寫了nice tutorial了。在那裏您還可以找到適當的代碼片段。
您可以自定義它,例如設置令牌的自定義過期和刷新令牌的使用。