我正在努力在我的应用程序中实现身份验证和授权。
用于身份验证: 我通过ADFS服务器配置了WS-Fed登录协议并启用了JWT。创建MVC应用程序并配置为使用WS-Fed来验证用户。
现在问题是如何在成功登录后将JWT令牌存储在我的cookie中?
这是我的代码
public partial class Startup
{
private static string realm = ConfigurationManager.AppSettings["ida:Wtrealm"];
private static string adfsMetadata = ConfigurationManager.AppSettings["ida:ADFSMetadata"];
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions{ CookieName="JwtToken",CookieHttpOnly=false});
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
Wtrealm = realm,
MetadataAddress = adfsMetadata
});
}
}
授权 我有一个单独的Web API项目。我想通过在每个请求的标头中传递JWT令牌来授权我的api,但不确定如何从cookie中提取JWT令牌并将其传递给web api进行验证。
答案 0 :(得分:0)
我在这里找到了答案http://www.software-architects.com/devblog/2015/02/02/ADFS-and-ADAL-Lab。
ADAL(适用于.NET和JavaScript的Active Directory身份验证库),可用于在mvc应用程序中获取令牌,并在标头中传递令牌以授权web api。