Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel中所需oAuth令牌的Microsoft Graph API登录表单:“;所选用户帐户不存在于";“微软服务”;“客户”;_Laravel_Azure Active Directory - Fatal编程技术网

Laravel中所需oAuth令牌的Microsoft Graph API登录表单:“;所选用户帐户不存在于";“微软服务”;“客户”;

Laravel中所需oAuth令牌的Microsoft Graph API登录表单:“;所选用户帐户不存在于";“微软服务”;“客户”;,laravel,azure-active-directory,Laravel,Azure Active Directory,我想从我的Laravel应用程序中获取Office 365日历中的一些任务。因此,我必须使用Microsoft Graph来请求Office 365 因此,我需要登录到Microsoft,然后我将获得OAuth令牌。然后我将能够请求Microsoft Graph 意外行为:当我调用此URL时https://login.microsoftonline.com/XYZXYZXYZ/oauth2/v2.0/authorize?state=XYZXYZXYZ&scope=offline_access%2

我想从我的Laravel应用程序中获取Office 365日历中的一些任务。因此,我必须使用Microsoft Graph来请求Office 365

因此,我需要登录到Microsoft,然后我将获得OAuth令牌。然后我将能够请求Microsoft Graph

意外行为:当我调用此URL时
https://login.microsoftonline.com/XYZXYZXYZ/oauth2/v2.0/authorize?state=XYZXYZXYZ&scope=offline_access%20openid%20calendars.readwrite%20contacts.readwrite%20files.readwrite%20mail.readwrite%20mail.send%20tasks.readwrite%20mailboxsettings.readwrite%20user.readwrite&response_type=code&approval_prompt=auto&redirect_uri=https%3A%2F%2Fdomain.com%2Fmsgraph%2fouth&client_id=xyzxyz。
,它显示登录表单。我使用与在Microsoft Azure上创建的相同的Microsoft帐户登录,以配置我的Laravel应用程序的Graph API访问数据。此操作失败,出现以下错误:

在客户«微软服务»和ce客户«XYZ»的应用程序基础上,选择不存在的公司。在客户的外部利用率方面,我们的合作是持续的。使用自动补偿

翻译成英文:

“Microsoft Services”客户端中不存在所选用户帐户,因此无法访问此客户端中的“XYZ”应用程序。必须首先将该帐户添加为客户端中的外部用户。使用其他帐户

我读到的以及我尝试做的:

  • 我已经读过了,它告诉我们如何创建一条Laravel路线(最后指向
    https://login.microsoftonline.com/XYZXYZXYZ/oauth2/v2.0/authorize?state=XYZXYZXYZ&scope=offline_access openid calendars.readwrite contacts.readwrite files.readwrite mail.readwrite mail.send tasks.readwrite mailboxsettings.readwrite user.readwrite&response\u type=code&approval\u prompt=auto&redirect\u uri=https%3A%2F%2Fdomain、 com%2Fmsgraph%2fouth&client_id=XYZXYZXYZ

  • 看到这个bug,我进行了一些搜索。我读到这个问题最终可能是由我的Azure帐户(我用它作为Laravel开发人员配置Microsoft Graph API,并尝试以简单的Office 365用户身份登录以获取OAuth令牌)引起的,无法被授权登录。因此,这告诉我们通过设置以下内容来最终编辑
    清单
    (可在Microsoft Azure站点访问):
    “signInAudience”:“AzureADandPersonalMicrosoftAccount”,
    (或这三个值中的另一个值:
    AzureADMyOrg
    AzureADMultipleOrgs
    AzureADandPersonalMicrosoftAccount
    )。但是,如果我更改它,尝试登录时会出现新问题:租户ID有问题


  • 我不明白为什么我不能使用我的Azure帐户登录。我只是想获得OAuth令牌,这样我的Laravel应用程序就可以访问我的Office 365任务,这看起来非常困难。我认为这是一个配置问题。你能告诉我解决此问题的方法吗?

    当你请求
    /authorize>时端点,您将获得URL中的URL。它在注释中返回空白页。

    在发布
    /token
    以获取带有授权代码的访问令牌后,您可以获取访问令牌


    您是否已在azure帐户中正确配置了应用程序请遵循microsoft提供的这些教程,您可以验证自己的错误-->根据本页中的文档-->您正在设置身份验证url,'urlAuthorize'=>'','common')“/oauth2/v2.0/authorize'`而不是在这里提供租户id-你能提供一个“urlAuthorize'=>”@SatyaV的确,现在问题已经解决了。但是我仍然需要在我的
    .env
    中替换
    MSGRAPH\u OAUTH\u URL=://domain.com/MSGRAPH/OAUTH
    ,所以我在Azure中创建了一个重定向URI。这个URL是:。它是通过当我(successullu)登录时,它是完美的。但是它是一个空白页,我没有看到任何标记^