【问题标题】:passport-azure-ad, validation of tokens护照天蓝色广告,令牌验证
【发布时间】:2017-05-02 02:51:15
【问题描述】:

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

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

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

我正在使用 access_token 来保护我的端点没有托管在 Microsoft 的 API 网关后面,所以我猜想撤销 access_token 并不是一件容易的事。

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

【问题讨论】:

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


    【解决方案1】:

    根据 Azure Document 上的描述:

    虽然将用户定向到 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了解更多信息。

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

    【讨论】:

      猜你喜欢
      • 2016-08-12
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      相关资源
      最近更新 更多