问题标签 [send-on-behalf-of]
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.
azure - OAuth2 On-Behalf-Of - 用户如何接受中间层权限?
我正在检查 OAuth2,关于 On-Behalf-Of 流的一件事我不明白。流程如下所示: 我们有:
- 应用程序1(前端)
- 应用程序2(网络 API)
- App3(数据资源(另一个 Web API))
假设它们是这样设置的:
- App1 - 不公开任何 API;需要使用“App2Permission”的权限
- App2 - 公开“App2Permission”;需要使用“App3Permission”的权限
- App3 - 公开“App3Permisson”;不需要任何权限
现在,当用户转到 App1 时,它会将他重定向到 AAD 的登录页面 - 用户接受 App1 需要的“App2Permisions”。之后,App1 获得 App2 的访问令牌。App1 向 App2 发送请求(包括我刚才提到的访问令牌)。App2 收到这个请求,需要访问 App3 来获取实际数据。但是,它需要“App3Permission”——它是如何获得的?App2 不是能够向用户显示一些登录屏幕的交互式应用程序。
vba - 将发件人更改为使用代表发送
场景:
两个团队:MainTeam和HelpingTeam
MainTeam 独占使用共享邮箱,宏“代表MainTeam ”发送所有电子邮件,而不是作为共享邮箱发送。
HelpingTeam用户将帮助其他团队。他们需要表明电子邮件是“代表MainTeam ”发送的。
共享邮箱已添加到HelpingTeam上的用户,在新的邮件窗口中,共享邮箱的电子邮件地址低于他们的个人邮箱地址。使用这个“发件人”地址将表明他们正在尝试发送邮箱,这是我们不想要的。
我可以向他们展示如何添加另一个“发件人”地址并将其设置为使用他们的主帐户到“SendonBehalfOf”,但他们不想混淆,因为现在他们将在“发件人”列表中看到两个条目:“ SendAs”条目(固定,不能删除)和“SendonBehalfOf”条目(可以删除)。
我正在尝试更改电子邮件属性,以便代表共享邮箱发送电子邮件。
- 使用此宏从共享邮箱发送电子邮件时,一切正常。
- 从个人邮箱发起电子邮件并将发件人更改为“SendAs”帐户(列表中唯一的共享帐户)时,宏中的属性似乎正确,但 Outlook 不处理更改,系统拒绝信息。
我做了很多修改,以至于我忘记了哪些有效,哪些无效。以下是如上所述的最实用的版本。MsgBox条目是为了帮助我跟踪幕后发生的事情:
2020 年 11 月 30 日
这就是我现在解决这个问题的方式,但如果它是一个在线回复,它会失败:
azure-active-directory - AADSTS5002710:无效的 JWT 令牌:标头格式错误
我正在尝试在我的客户端 (ReactJS)、Express + Node.js 服务器 (API) 和 Microsoft Graph 之间实现“代表”流程。
到目前为止,我已经向微软(客户端)请求了一个 accessToken,并向我的 API 发出了请求。
我遇到了错误“AADSTS5002710:无效的 JWT 令牌:标头格式错误。” 当我尝试从我的 API 发出 Axios 发布请求时https://login.microsoftonline.com/tenantID/oauth2/v2.0/token
完全错误:
{
error: 'invalid_request',
error_description: 'AADSTS5002710: Invalid JWT token: header is malformed.\r\n' +
'Trace ID: 068a382b-6f83-40f6-b1b1-7134223f4500\r\n' +
'Correlation ID: f46a2c03-84e8-46b3-b9d6-467174befa0b\r\n' +
'Timestamp: 2021-01-06 16:26:40Z',
error_codes: [ 5002710 ],
timestamp: '2021-01-06 16:26:40Z',
trace_id: '068a382b-6f83-40f6-b1b1-7134223f4500',
correlation_id: 'f46a2c03-84e8-46b3-b9d6-467174befa0b'
}
我的请求正文根据教程“https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow”。
由于微软在线服务器,我不断收到上述错误。
我已经使用自己的自定义范围提出了原始(客户端)请求api://54ee17f...cfe06/Access.Test
node.js - Microsft 身份 OAuth 代表个人电子邮件帐户
我正在编写一个节点 api 来为我们的应用程序中的用户检索日历事件。用户提供他们的 Outlook 帐户,例如 user.name@outlook.com,这是他们的个人电子邮件帐户,而不是组织帐户。
我曾尝试将 OBO 模式与 MSAL+Graph 一起使用,但看起来它仅适用于我的 AD 组织中的帐户(使用特定的租户 ID)。
MSAL 和 Microsoft Graph 是否不允许使用个人电子邮件帐户?
python - 如何在 gmail 中代表使用 python-smtp 发送电子邮件
[强文本我尝试使用不同的进程,但它默认从地址发送,是否有机会使用 python 在 gmail 中使用 On Behalf Of。要求的格式是From:“发件人地址”代表“发件人地址”。 “sender@emailarchitect.com”代表“from@adminsystem.com”。我正在使用以下代码:
print("发送邮件...") `
c# - 将令牌从经过身份验证的应用程序传递到另一个 API 以使用 OBO 流到 Graph API
我们有一个使用 MSAL 并使用 Azure AD 生成令牌的应用程序。我们需要该应用程序调用另一个 API,并且我们正在传递当前令牌。这一切都很好。我们有两个不同的应用程序,我将包含一些代码来展示受众(其他客户端 ID)如何能够进行身份验证
所以认证不是问题。我们正在使用 GraphServiceClient 来访问图形 api,但是我们从 Authorization 标头获得的令牌是从另一个应用程序传递的令牌,并且具有与另一个应用程序相关联的客户端 ID。一切运行良好,直到到达 AcquireTokenAsync 行,并且返回的问题状态为“断言受众与呈现断言的客户端应用程序不匹配。断言中的受众是“{其他应用程序 ID}”,而预期的受众是“ {app id of the api}”或此应用程序的应用程序 Uris 之一,应用程序 ID 为“{app id of the api}”(API APP)。下游客户端必须为预期的受众(制作的应用程序)请求令牌OBO 请求)并且此应用程序应使用该令牌作为断言。”
另一点是我对 Azure AD 的访问权限仅限于只读。另一组控制着它。这有点政治性,所以我无法更新内容以自行尝试,任何更改至少需要一天的时间。
我还在 api 的清单中设置了 knownApplications。
我可能“可以”让它使用来自其他应用程序的客户端凭据只是为了查看它的工作,但这不是一个很好的答案,因为我们不想知道其他应用程序的那些凭据。当然,这正在完成并且我错过了一些明显的东西。提前非常感谢..我希望,如果有的话,这对其他人有用。