问题标签 [passport-azure-ad]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
352 浏览

node.js - nodejs passport-azure-ad 重定向到 failureRedirect

您好,我正在尝试理解并将我在https://docs.microsoft.com/en-us/graph/tutorials/node?tutorial-step=1上找到的“passport-azure-ad”功能应用于我自己的网络应用程序.

他们在教程中使用的不是“hbs”模板引擎,而是使用“jade”。我在 Azure 中注册了应用程序。运行 Web 应用程序时,我注意到登录功能正在运行(重定向到 Microsoft 的登录页面以输入我的凭据)。但是当我离开凭据页面时,它会返回到http://localhost:3000/error而不是 ** http://localhost:3000/succes ** 我所期望的。

你能帮我么?

下面我放了javascript文件:

应用程序.js

auth.js

图.js

0 投票
1 回答
1998 浏览

node.js - Azure Active Directory B2C 与 Passport.js 错误“无法获取 aad 联合元数据”错误

我正在尝试使用 Passport.js 和带有 OpenID Connect 策略的 Azure Active Directory B2C 为我的 Node.js Web 应用程序实现面向客户的身份验证。

我已按照官方 GitHub 页面上的 README 说明,并研究了官方示例应用程序的源代码,但它们似乎不完整和/或过时,正如在线各种线程所同意的那样。

在拼凑来自网络的各种提示后,我跨越了许多桥梁,但陷入僵局并出现以下错误:

cannot get AAD Federation metadata from endpoint you specified.

AAD 身份验证需要大量配置,所以我会注意一些重要的值:

  • policyName: 这就是b2c_1_signin,就像我在 Azure 门户中配置的一样。
  • identityMetadata:我正在使用特定于租户的 v2.0 端点。我添加?p=b2c_1_signin了注入策略名称。
  • responseTypeid_token
  • redirectUrl:这是我在 Azure 中配置的本地主机和端口。allowHttpForRedirectUrl设置为true。(这适用于非生产环境。)
  • isB2Ctrue
0 投票
1 回答
3134 浏览

c# - 注册表中的 LegacySameSiteCookieBehaviorEnabled=0 对应用程序身份验证过程的影响

我有一个带有 .NETFramework 4.6 的 asp.net mvc4 应用程序,带有 AzureAD 身份验证和 OpenID Connect 协议。现在随着 Chrome80 SameSite=None update 的最新更新,应用程序身份验证失败。

这是测试说明: https ://docs.microsoft.com/en-us/office365/troubleshoot/miscellaneous/chrome-behavior-affects-applications#testing-guidelines

我使用了下面提到的文章,它使用 URLRewrite 模块来设置 SameSite=None :

https://blog.elmah.io/the-ultimate-guide-to-secure-cookies-with-web-config-in-net/

将 Chrome 浏览器中的标志更新为已启用:

在此处输入图像描述

将注册表中 LegacySameSiteCookieBehaviorEnabled 的值设置为 1 会导致应用程序身份验证成功,但如果将 LegacySameSiteCookieBehaviorEnabled 设置为 0 ,则以防应用程序身份验证失败。

谁能帮我知道如何解决这个问题?

0 投票
1 回答
750 浏览

node.js - 无法从 Azure 应用的授权代码中检索访问令牌

我正在使用 passport-azure-ad 库为我的 Azure 应用程序对 Azure AD 进行 SSO。以下是选项对象:

从 AD 回调获取授权代码 (req.body.code) 后,我使用它来使用 adal-node 库检索我的应用程序的访问令牌。相关代码片段 -

但是这种方法会导致以下错误:

还尝试根据文档检索访问令牌(https://docs.microsoft.com/en-us/azure/active-directory/azuread-dev/v1-protocols-oauth-code#use-the-authorization-code-to -request-an-access-token)使用邮递员,但这也会导致同样的错误。

请帮助我找出这里的错误。

0 投票
1 回答
68 浏览

javascript - 使用 Open ID 连接身份验证代码流 Azure AD

我正在对 NodeJS、Express Web 应用程序进行身份验证,我希望在该应用程序中将用户路由到 microsoft SSO。我正在使用护照天蓝色广告并打开 id connect 来执行此操作。

不过我想知道的是——

是否只能通过隐式授权进行 Open ID 连接?或者 c 我们可以使用身份验证流程进行 open id 连接吗?如果是这样,passport-azure-ad 是否支持它?

0 投票
1 回答
371 浏览

node.js - 如何使用 passport-azure-ad 实现身份验证代码流

我正在使用 microsoft 的 passport-azure-ad 模块来打开 ID 连接。我打算的流程是身份验证代码流,我的 azure 广告配置为身份验证代码流。我的问题是:

1) passport-azure-ad 是否像“代码”一样查看响应类型,然后它会第一次调用获取代码,然后将代码交换为令牌。因为我在实现我的代码时没有拨打两个电话,我直接获得了 access_token

2) 我们如何使用带有 passport-azure-ad 的 PKCE 实施授权代码授予流程?

我的代码如下所示

0 投票
2 回答
2270 浏览

azure - Azure AD 出现“身份验证失败,原因是:jwt 受众无效”

首先,我将描述我如何设置我的应用程序,然后我将描述我如何使用 API。

设置

  1. 在我的Azure Active Directory中,我注册了两个应用程序:UI 和后端
  2. UI 具有客户端 ID clientId1,后端具有客户端 ID clientId2(这是一个 GUID,但为简单起见)
  3. 两者都在同一个租户下 tentant1(单租户)

后端(Web API)

  1. 后端有一个公开的 API,其范围为“api://clientId2/access_as_user”和授权客户端“clientId1”,其中刚刚提到的范围被选中
  2. 我正在使用passportand passport-azure-ad(我几乎复制了https://github.com/Azure-Samples/active-directory-javascript-nodejs-webapi-v2)。
  3. 我的配置:

    /li>
  4. 启动服务器时收到此消息:

用户界面(角度 SPA)

  1. UI 具有权限被自动授予访问 Microsoft Graph 的权限(配置文件、user.read、user.read.all - 我认为我授予的最后一个)。权限在“API 权限”中
  2. 我继续并授予对后端 access_as_user 的访问权限
  3. 对于 UI 代码,我使用的是 MSAL 库,并且我几乎复制了 repo ( https://github.com/Azure-Samples/active-directory-javascript-singlepageapp-angular )
  4. 在该protectedResourceMap字段中,我添加了以下内容
  1. 我能够登录并阅读我的用户配置文件,但是在尝试访问http://localhost:5000/hello(受保护)时,我收到了这个问题的标题错误

--

我可以看到承载令牌来了(在 UI 和后端),服务器解码令牌(我可以在服务器日志中看到我的所有配置文件信息),但它说 JWT 无效?!

我没有定义观众,但是当它被解码时,我可以在令牌中看到观众aud: 'api://clientId2'

我还可以看到后端何时启动它[clientId2, sps:clientId2]默认显示观众(后端的第 4 步)。当我在 config 中定义时audience: 'api://clientId2',我得到一个 403 消息:

任何帮助,将不胜感激。谢谢你。

0 投票
2 回答
998 浏览

node.js - passport-azure-ad 始终重定向到 failureRedirect 但未显示错误(nodejs)

按照本教程,我已经构建了我的 azure 广告登录以使用图形 api https://docs.microsoft.com/en-us/graph/tutorials/node?tutorial-step=3

来自 azure 的响应给我看,我找不到任何错误消息,但它总是触发失败重定向,因此它不会继续使用 signInComplete 函数。

我无法弄清楚出了什么问题。任何提示我至少可以了解是什么触发了 failureRedirect?

记录器 office365SigninCallback res.req.body 输出:

根据文档,我的响应看起来是正确的: https ://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow

0 投票
2 回答
1775 浏览

azure-active-directory - “指定的登录会话不存在。它可能已被终止”在我将设备加入到 azure 活动目录后

“指定的登录会话不存在。它可能已被终止”在我将设备加入到 azure 活动目录后

- 在我将设备加入 azure AD 并使用 Office 365 帐户后,我无法访问我们服务器中的共享文件夹(请参阅单击下面的链接以查看错误图像以供参考),但如果我使用本地管理员设备我可以毫无问题地使用凭据访问文件服务器,请注意我们没有场所活动目录或 GPO,请帮助我。

指定的登录会话不存在。它可能已经被终止

0 投票
1 回答
1171 浏览

azure-active-directory - 使用 azuread-openidconnect 的 express js 的 Passport 中间件

我已经配置了OIDCStrategy护照和应用程序重定向到帐户登录,然后我得到一个访问令牌。在我尝试使用如下方式保护路由后,它总是重定向到身份验证页面。

我也试过这个方法

护照配置

如何使用 azure open-id 连接策略正确保护路由?