大家好我首先对asp.net身份和Owin身份验证有一点了解,如果我的问题不正确,请原谅我。
我有一个web-api项目正在验证使用Active目录,而使用api的客户端是iphone应用程序。我必须按顺序使用Owin身份验证来保护用户名和密码。此外,我正在将Microsoft动态CRM与web-api集成。为了授权CRM,我们需要在Owin KEY
但我不知道如何从owin密钥解密用户信息任何人都可以帮助我的Owin身份验证代码如下所示
/// <summary>
/// Signin
/// </summary>
/// <param name="user"></param>
/// <param name="options"></param>
/// <param name="authManager"></param>
/// <returns></returns>
public string SignIn(User user, OAuthAuthorizationServerOptions options, IAuthenticationManager authManager)
{
ClaimsIdentity identity = SetClaims(user, options);
AuthenticationTicket ticket = new AuthenticationTicket(identity, new AuthenticationProperties());
var currentUtc = new SystemClock().UtcNow;
ticket.Properties.IssuedUtc = currentUtc;
// ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromDays(user.AuthenticationExpiry));
ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromDays(180));
authManager.SignIn(identity);
return options.AccessTokenFormat.Protect(ticket);
}
private ClaimsIdentity SetClaims(User user, OAuthAuthorizationServerOptions options)
{
ClaimsIdentity identity = new ClaimsIdentity(options.AuthenticationType);
string userdata = user.UserName +"~"+ user.Password;
identity.AddClaim(new Claim(ClaimTypes.UserData, userdata.ToString()));
return identity;
}
如何使用KEY授权每个请求。因为iphone应用程序只提供我在用户登录时提供的密钥。任何人都可以请帮助