如何在不使用 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 令牌