问题标签 [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 投票
1 回答
2327 浏览

node.js - OIDCStrategy 护照-天蓝色-广告护照 js 有问题吗?

我正在使用https://github.com/AzureAD/passport-azure-ad插件来使用 Azure AD Graph API。

我的 package.json 中的依赖关系

"passport-azure-ad": "^3.0.12"

我参考了此处提供的示例:https ://github.com/AzureADQuickStarts/WebApp-OpenIDConnect-NodeJS

我能够做到auth& 得到access_token& refresh_token。但是最后一个参数给出了一个错误,因为

我的代码是使用 Typescript 我的策略代码编写的:

此外,自定义状态参数不保留状态字符串,根据文档

为什么done不工作?另外,我怎样才能保持状态?

下面是我的应用服务器中的重定向 URL 调用端点函数

Auth Callback POST API 端点函数调用如下:

更新

1] 关于TypeError: done is not a function我将 package.json 更新为具有依赖关系,"passport-azure-ad": "4.0.0"而不是按照文档中的示例验证回调中定义的"passport-azure-ad": "^3.0.12"那样done开始使用。process.nextTick()

2]关于我在not in 中customState得到状态参数。看到这个问题。azure-ad 的身份验证回调的原因恰好是 HTTP POST 而不是 HTTP GET,就像在其他 OAuth 流中一样。因此,国家是身体的一部分。req.body.statereq.query.state

0 投票
0 回答
69 浏览

node.js - 使用 AAD v1.0 时如何获取多个资源 URL 的访问令牌

我正在评估在我们的应用程序中使用passport-azure-ad插件。

我们正在使用 AAD v1.0,并且需要多个资源的访问令牌。

查看护照插件的文档,我只看到了一个示例resourceURLaccessToken.

在认证配置示例中:

在回调签名中:

使用 v1.0 端点时,passport-azure-ad 是否支持获取多个资源的访问令牌?

0 投票
0 回答
610 浏览

passport.js - 是否有关于如何在 Nest.Js 中实现“Passport Azure AD”的文档?

这里有人知道如何将“Azure AD”护照策略实施到 Nest.js 中吗?我找不到任何与此特定策略相关的文档。

谢谢你。

0 投票
1 回答
394 浏览

typescript - 如何扩展 passport.js 模块 AuthenticateOptions 接口

Passport.js 策略可以支持验证调用中的其他选项:

使用自定义策略支持的选项(例如tenantIdOrName上面)会导致打字稿错误,因为它不是 此处找到AuthenticateOptions的护照界面的一部分并在此处的签名中使用authenticate

我尝试了一些没有成功的事情

  • 模块扩充,即declare module 'passport' {...}似乎覆盖了模块的类型而不是扩展它们(不在我的扩展中的任何东西都被视为无类型)
  • 合并接口即declare namespace passport { interface AuthenticateOptions { ...new properties }},这似乎对authenticate方法签名没有影响。

如何在authenticate没有类型转换的情况下支持调用中的其他属性?

0 投票
1 回答
961 浏览

passport.js - 在护照天蓝色广告中使用承载策略将当前用户附加到请求

我有一个使用 express 和 passport 进行身份验证的 NodeJS API 服务器。我正在使用通行证 azure 广告承载策略与 Microsoft Azure AD 进行身份验证。在文档中提供的示例 ( https://github.com/Azure-Samples/active-directory-node-webapi/blob/master/node-server/app.js#L50 ) 中,所有者 (currentUser) 是全局定义的 javascript 变量。如何将用户附加到请求,以便我可以执行类似的操作

从 OIDC 策略中提到的示例中,我看到了一个允许将用户 ID 存储在会话中deserializeUserserializeUser函数,但是,在承载策略中,我们没有维护任何会话,因为将对每个传入的身份验证执行要求。

这可能是我理解的一个差距。我已经浏览了各个库的文档。如果有办法可以做到这一点,请帮助我

0 投票
0 回答
585 浏览

azure - 在天蓝色中设置 showPii

我正在为单租户 azure 广告登录配置我的护照/快递/节点 azure 应用服务网站。我可以在我的本地主机上成功登录,但是当我发布网站时,我得到了{"code":400,"message":"IDX10205: Issuer validation failed. Issuer: '[PII is hidden]'. Did not match: validationParameters.ValidIssuer: '[PII is hidden]' or validationParameters.ValidIssuers: '[PII is hidden]'."}

我想我需要在某处设置 showPII 以查看该 PII 并诊断/解决问题。我们如何在节点 azure 中控制这个标志?

0 投票
1 回答
278 浏览

javascript - 如何为 passport-azure-ad 生成 privatePEMKey 和指纹

我有一个看起来像这样的 base64 证书文件(具有有效、正确格式的大写 base64)。

我正在尝试在 nodejs 中创建代码来为我的配置生成privatePEMKey& thumbprint

如果我运行它,我仍然会收到错误:

错误:未提供 privatePEMKey。请提供 clientSecret 或 privatePEMKey 和指纹。

我的问题是我错过了什么?- 如果“字符串”是大写/小写,有什么区别吗?

文档来自: https ://github.com/AzureAD/passport-azure-ad#622-fill-the-test-parameters

0 投票
1 回答
176 浏览

node.js - 如何在 Node.JS Azure AD B2C 中实现 SSO

我有 4 个具有不同域的 Node.JS 应用程序前端角度,我已经实现了 Azure AD B2C

我需要在我的应用程序中实现 SSO 或单点登录

我该如何设置,推荐的方式是什么。

我检查了https://github.com/AzureAD/passport-azure-ad

但是没有关于为 Node.JS 应用程序或示例代码设置 SSO 的文档。

0 投票
1 回答
315 浏览

azure-active-directory - 在两个 AD B2C 租户之间共享本地帐户

我有客户使用本地帐户注册到 AD B2C 租户,我希望他们能够在不同的 AD B2C 租户上使用这些凭据登录。是否可以将两个 AD B2C 联合起来,以便它们可以共享相同的用户身份?我知道可以创建自定义策略让 AD B2C 使用多租户 Azure AD 作为身份提供者,但我认为如果用户身份存储在 AD B2C 本身的本地帐户中,情况并非如此。'我错了吗 ?

0 投票
1 回答
284 浏览

node.js - Azure AD OIDC Passport Strategy pid:2179,level:40 生产环境应始终验证颁发者

您好,我正在尝试按照 Microsoft https://github.com/microsoftgraph/msgraph-training-nodeexpressapp提供的教程来实现 Azure 身份验证。我成功注册了应用程序,并在 .env 文件中替换了客户端密码和应用程​​序 ID。

为什么我运行该应用程序。它返回:

比荷兰当地时间早一个小时。我还更改了 Azure 门户中的区域。但这不会改变输出。

你能帮我么!

曼尼谢谢

埃里克