当前位置: 首页 > 知识库问答 >
问题:

web api身份验证后向cookie添加承载令牌

元玮
2023-03-14
public void Configure(string name, OpenIdConnectOptions options) {
                options.ClientId = _azureOptions.ClientId;
                options.Authority = _azureOptions.Authority;
                options.UseTokenLifetime = true;
                options.CallbackPath = _azureOptions.CallbackPath;
                options.RequireHttpsMetadata = false;
                options.ClientSecret = _azureOptions.ClientSecret;
                options.Resource = "https://graph.microsoft.com"; // AAD graph
                options.SaveTokens = true;
                // Without overriding the response type (which by default is id_token), the OnAuthorizationCodeReceived event is not called.
                // but instead OnTokenValidated event is called. Here we request both so that OnTokenValidated is called first which 
                // ensures that context.Principal has a non-null value when OnAuthorizeationCodeReceived is called
                options.ResponseType = "id_token code";

                // Subscribing to the OIDC events
                options.Events.OnAuthorizationCodeReceived = OnAuthorizationCodeReceived;
                //options.Events.OnAuthenticationFailed = OnAuthenticationFailed;
            }

共有1个答案

栾和玉
2023-03-14

承载令牌的客户端存储有两种模式:cookies使用HTML5本地存储

如果Cookie用于将承载令牌从客户端传输到服务器,那么Cookie也将用于在客户端存储承载令牌。

同样,如果使用授权头来传输令牌,那么必须使用HTML5本地存储(或会话存储)来存储承载令牌。

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.UseCookieAuthentication(new CookieAuthenticationOptions()
        {
            AuthenticationType = "ApplicationCookie",
            LoginPath = new PathString("/Account/Login"),
        });
    }
}
 类似资料:
  • 我正在尝试在ASP.NET5中实现OAuth承载令牌身份验证,并且正在努力寻找一个如何实现这一点的示例,因为OWIN的东西在ASP.NET5中发生了变化。 例如IApplicationBuilder.UseOAuthAuthorizationServer()和IApplicationBuilder。UseOAuthBearerAuthentication()要么不再存在,要么缺少引用? 如有任何指

  • 我想添加只允许经过身份验证的用户在Jitsi会议中创建会议的功能。我看到了外部API的jwt参数、config.tokenAuthUrl和lib-jitsi-met令牌文档,但我对如何将它们放在一起感到非常困惑。 现在,我的工作流程如下: 用户通过自定义应用程序登录谷歌。 用户被重定向到一个新的Jitsi会议,使用从Google登录信息派生的jwt参数。 我遇到的问题是验证这个令牌,以及如何设置它

  • 跟随后匕首+改装。在运行时添加身份验证头我试图配置okHttp并通过添加拦截器将jwt身份验证密钥添加到okHttp中,为此我创建了单独的拦截器并将其添加到Dagger的组件中,以便它可以在任何地方公开。 组件 JWTauthenticationInterceptor.java

  • 我在令牌使用者上得到以下错误。任何帮助解决这将是非常感谢的。多谢了。 “IDX10503:签名验证失败。 公共无效配置(IApplicationBuilder应用程序)

  • 问题内容: 我在glassfish服务器上使用了gwt,并且尝试通过cookie对我的某些RPC调用进行身份验证。这可能吗?有没有关于如何编码的示例? 问题答案: 仅依靠cookie进行身份验证将使您的网站/服务容易受到跨站点请求伪造/ XSRF / CSRF攻击- 有关GWT应用程序安全性的更多信息,请阅读。 最好的方法是再次检查从cookie以及通过其他方式(作为请求的一部分(标头,自定义字段