Microsoft Outlook - 添加自定义参数授权请求

我正在使用 Microsoft Outlook rest php api 来验证帐户并获取用户事件。我想将自定义参数添加到重定向 URL 中。我没有找到将自定义参数添加到重定向 url 的任何方法。


我正在使用这个 Outlook/rest/php api - 这是网址:


https://docs.microsoft.com/en-us/outlook/rest/php-tutorial#implementing-oauth2


这是我的控制器 AuthController.php。


<?php


namespace App\Http\Controllers;


use App\Http\Controllers\Controller;


class AuthController extends Controller

{

  public function signin()

  {

    if (session_status() == PHP_SESSION_NONE) {

      session_start();

    }


    // Initialize the OAuth client

    $oauthClient = new \League\OAuth2\Client\Provider\GenericProvider([

      'clientId'                => env('OAUTH_APP_ID'),

      'clientSecret'            => env('OAUTH_APP_PASSWORD'),

      'redirectUri'             => env('OAUTH_REDIRECT_URI'),

      'urlAuthorize'            => env('OAUTH_AUTHORITY').env('OAUTH_AUTHORIZE_ENDPOINT'),

      'urlAccessToken'          => env('OAUTH_AUTHORITY').env('OAUTH_TOKEN_ENDPOINT'),

      'urlResourceOwnerDetails' => '',

      'scopes'                  => env('OAUTH_SCOPES')

    ]);


    // Output the authorization endpoint

    echo 'Auth URL: '.$oauthClient->getAuthorizationUrl();

    exit();

  }



public function gettoken()

{

  if (session_status() == PHP_SESSION_NONE) {

    session_start();

  }


  // Authorization code should be in the "code" query param

  if (isset($_GET['code'])) {

    // Check that state matches

    if (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth_state'])) {

      exit('State provided in redirect does not match expected value.');

    }


请为我提供一些如何添加自定义参数的建议。


我需要使用 user_id 添加自定义参数。


至尊宝的传说
浏览 188回答 2
2回答

哆啦的时光机

您无法在进行身份验证时,Microsoft 会将重定向 url 与 Microsoft App 中注册的重定向 url 进行比较,如果它们不同,则他们请求被拒绝。我的建议是在您的应用程序中捕获身份验证端点,然后根据来自 /me 端点的用户数据根据需要进行重定向。
打开App,查看更多内容
随时随地看视频慕课网APP