passport-azure-ad,令牌验证

时间:2016-12-16 10:22:44

标签: node.js azure oauth-2.0 passport-azure-ad

这个问题与此有关 passport-azure-ad, does it parse & validate token?

我试图使用passport-azure-ad模块来掌握。我使用OpenID Connect成功登录我的用户,拿起access_token并直接使用我的REST API,它由app.get('myapi',passport.authenticate('oath-bearer', {failureRedirect: '/'}), function(req,res){});

保护

但是,如果我尝试从OpenID connect创建的会话中注销,则令牌仍然有效,直到它过期(通常为3600秒)。

我正在使用access_token来保护我的端点没有托管在微软的API网关后面,所以我想撤销access_token不是直截了当的。

有什么方法可以检查access_token是否使用passport-azure-ad被撤销?什么是最佳做法?

1 个答案:

答案 0 :(得分:1)

根据Azure文档中的说明:

  

虽然将用户定向到end_session_endpoint,但会清除某些用户使用Azure AD B2C的单点登录状态,但它不会将用户从用户的社交身份提供商中签名(IDP)会议。如果用户在后续登录期间选择相同的IDP,则会在不输入凭据的情况下重新进行身份验证。如果用户想要退出您的B2C应用程序,并不一定意味着他们想要完全退出他们的Facebook帐户。但是,对于本地帐户,用户的会话将正确结束。

所以你可以直接使用end_session_endpoint。您可以在b2c_1_sign_in策略端点的元数据文档中找到它,例如:

https://login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/v2.0/.well-known/openid-configuration?p=b2c_1_sign_in

如果您在v1中使用常见的Azure AD应用程序,您还可以在元数据文档中找到end_session_endpoint,例如:

https://login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/.well-known/openid-configuration

您可以参考Azure Active Directory B2C: Web sign-in with OpenID Connect了解更多信息。

如有任何疑问,请随时告诉我。

相关问题