如何在不使用 ADAL.js 或 MSAL.js 的情况下将我的 activiti 应用程序(版本 6)与 Azure Active Directory 端点 v2.0 集成

Posted

技术标签:

【中文标题】如何在不使用 ADAL.js 或 MSAL.js 的情况下将我的 activiti 应用程序(版本 6)与 Azure Active Directory 端点 v2.0 集成【英文标题】:How to integrate my activiti app (version 6) with Azure active directory endpoint v2.0 without using ADAL.js or MSAL.js 【发布时间】:2018-11-30 12:17:13 【问题描述】:

我有一个 Activiti 应用程序,它需要与 Azure Active Directory 集成以进行用户登录和身份验证。该应用程序已在 Azure AD 上注册,我有以下信息:

    租户 ID CID 键

我正在尝试按照官方文档here 中的步骤,使用隐式流程。

我能找到的所有示例都使用 msal.js 库来验证具有 Microsoft Azure Active Directory 帐户的用户。但我需要在不使用任何库的情况下实现这一点。我该如何处理?

我需要如何以及在 activiti-UI 中的何处输入代码以点击步骤中给出的以下 URL

https://login.microsoftonline.com/tenant/oauth2/v2.0/authorize?client_id=6731de76-14a6-49ae-97bc-6eba6914391e&response_type=id_token&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&scope=openid&response_mode=fragment&state=12345&nonce=678910

任何关于这方面的例子都会有很大帮助!!

提前致谢!

【问题讨论】:

【参考方案1】:

对于您选择的doc,它不使用库。

要参考此文档,您的应用需要在 v2 端点中注册,例如 Application Registration Portal 或 Azure 门户中的应用注册(预览版)。您还需要为 Web 客户端启用 Allow Implicit Flow。

在浏览器中发送登录请求:

https://login.microsoftonline.com/tenant-name/oauth2/v2.0/authorize?
client_id=your application id
&response_type=id_token
&redirect_uri=your application redirect urls
&scope=openid
&response_mode=fragment
&state=12345
&nonce=678910

这样的回应: 这样,您可以获得登录用户的 id_token。如果要获取access_token,则需要将作用域中的openid替换为格式为(如microsoft graph:https://graph.microsoft.com/User.Read)的资源url,并将response_type中的id_token替换为access_token。 access_token 响应如下:

如果要解析令牌,可以使用jwt.io。

【讨论】:

以上是关于如何在不使用 ADAL.js 或 MSAL.js 的情况下将我的 activiti 应用程序(版本 6)与 Azure Active Directory 端点 v2.0 集成的主要内容,如果未能解决你的问题,请参考以下文章

如何使用MSAL.js为Azure DevOps获取有效的AAD v2令牌

如何使用 MSAL.js 为 Azure DevOps 获取有效的 AAD v2 令牌

使用 Phonegap/Cordova JS 应用程序和 MS ADAL JS。如何在真实手机中重定向 URI?

图形 API 扩展属性 AAD 和 adal.js

Azure MSAL JS:如何编辑配置文件?

如果用户从 msal .net 代码登录,则无法使用 msal.js 静默获取访问令牌