无法在MS Graph平台内使用Team OnlineMeeting API的工作帐户获得令牌

问题描述 投票:0回答:1

业务需求:我们想用我们生产系统上的Teams Meeting替换Skype会议URL(在ABAP守护程序服务中,而无需用户集成)。因此,我试图与使用Microsoft Graph API的团队进行集成,以便能够生成一个在线会议。然后,此在线会议URL将通过邮件发送给我们的客户。

Target Graph API:对于MS Graph API V1.0版本,我认为这仅在一个选项Create onlineMeeting中。(具有/ beta版本的Graph API对于生产用途不是一个好的选择)。根据MS Graph文档V1.0 Create onlineMeeting,此API仅支持具有Delegate类型的权限。我认为我们只能使用use username/password authentication flow。如果我错了,请纠正我。

问题:我正在尝试使用ROPC Microsoft identity platform and OAuth 2.0 Resource Owner Password Credentials中的描述获取具有用户名和密码的令牌,请使用以下API与我的公司邮件进行测试。

POST /{{TennatId}}/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
SdkVersion: postman-graph/v1.0
Content-Type: application/x-www-form-urlencoded

grant_type=password&client_id={{ClientId}}&client_secret={{ClientSecret}}&scope=https://graph.microsoft.com/onlineMeetings.ReadWrite&[email protected]&password=MyPassword

但是,它总是会得到invalid_grant响应:AADSTS50126:由于无效的用户名或密码,验证凭据时出错。我不知道为什么我的公司(工作)邮件/帐户**@sap.com无法得到令牌响应,我确定密码和其他参数正确。

并且如果我使用由Azure Active Directory创建的新测试用户[email protected],则将成功获得令牌。登录到Azure时,该用户不需要两步身份验证。但是此用户确实具有Teams / OnlineMeeting许可证,因此无法生成onlineMeeting。

我的问题

  1. 是否可能由我的组织中的MFA配置引起?因为我注意到每次登录https://aad.portal.azure.com/,它都有第二步验证步骤,请用我的电话消息进行验证。如果是,是否可以永久禁用某些测试/开发帐户的MFA?我们应该在哪里配置它?在MS Azure或其他地方?我应该从谁那里获得支持?

  2. 对于此Create onlineMeeting API,对于后端守护程序服务,该委托权限类型是否还有其他身份验证流程?

感谢和问候,病房

azure microsoft-teams azure-ad-graph-api skype-for-business
1个回答
0
投票

MFA肯定会阻止您使用此身份验证流程。不鼓励资源所有者密码凭证流及其使用。有许多流程更安全,通常可以使用授权码流程之类的流程来实现所需的功能。

MFA由您的组织配置,您需要就此与IT部门联系。但是我不建议为此禁用MFA。

后端守护程序应用程序需要使用应用程序权限或刷新令牌。如果所讨论的API不支持应用程序权限,则可以通过授权代码流为用户获取刷新令牌,安全地存储它,并在需要新令牌时使用它。如果执行此操作,请确保用要求访问令牌时获得的新刷新令牌覆盖旧的刷新令牌。

© www.soinside.com 2019 - 2024. All rights reserved.