使用mollie/oauth2-mollie-php快速集成MollieConnect到你的PHP應用

在我的一個電商項目中,需要集成 Mollie 支付網關,并且需要使用 Mollie Connect (OAuth) 來連接商戶的 Mollie 賬戶。這意味著我需要實現 OAuth 2.0 的授權流程,包括獲取授權碼、交換訪問令牌、刷新令牌等等。手動實現這些流程不僅耗時,而且容易出錯。 composer在線學習地址:學習地址 幸運的是,我發現了 mollie/oauth2-mollie-php 這個 Composer 包。它基于 PHP League 的 OAuth 2.0 Client,專門為 Mollie 提供了 OAuth 2.0 的支持。使用它可以大大簡化 Mollie Connect 的集成過程。

首先,你需要使用 composer 安裝這個包:

composer require mollie/oauth2-mollie-php ^2.0

安裝完成后,你就可以使用 MollieOAuth2ClientProviderMollie 類作為 OAuth 2.0 的 provider。以下是一個簡單的授權碼流程的示例:

$provider = new MollieOAuth2ClientProviderMollie([     'clientId'     => 'YOUR_CLIENT_ID',     'clientSecret' => 'YOUR_CLIENT_SECRET',     'redirectUri'  => 'https://your-redirect-uri', ]);  // 如果沒有授權碼,則獲取授權碼 if (!isset($_GET['code'])) {     // 從 provider 獲取授權 URL     $authorizationUrl = $provider->getAuthorizationUrl([         // 可選,如果需要重新請求用戶之前拒絕的權限         'approval_prompt' => 'force',          // 可選,權限列表,默認為 'organizations.read'         'scope' => [             MollieOAuth2ClientProviderMollie::SCOPE_ORGANIZATIONS_READ,             MollieOAuth2ClientProviderMollie::SCOPE_PAYMENTS_READ,         ],     ]);      // 保存 state 到 session     $_SESSION['oauth2state'] = $provider->getState();      // 重定向用戶到授權 URL     header('Location: ' . $authorizationUrl);     exit; }  // 檢查 state,防止 CSRF 攻擊 elseif (empty($_GET['state']) || ($_GET['state'] !== $_SESSION['oauth2state'])) {     unset($_SESSION['oauth2state']);     exit('Invalid state'); }  else {     try {         // 使用授權碼獲取 Access Token         $accessToken = $provider->getAccessToken('authorization_code', [             'code' => $_GET['code']         ]);          // 使用 access token 獲取用戶信息         $resourceOwner = $provider->getResourceOwner($accessToken);          print_r($resourceOwner->toArray());     } catch (LeagueOAuth2ClientProviderExceptionIdentityProviderException $e) {         // 獲取 access token 或用戶信息失敗         exit($e->getMessage());     } }

除了授權碼流程,mollie/oauth2-mollie-php 還支持刷新 access token 和撤銷 token。

使用 mollie/oauth2-mollie-php 極大地簡化了 Mollie Connect 的集成過程。它提供了清晰的 API 和示例代碼,使得開發者可以專注于業務邏輯的實現,而無需花費大量時間處理 OAuth 2.0 的細節。如果你需要在你的 PHP 應用中集成 Mollie Connect,那么 mollie/oauth2-mollie-php 絕對是一個值得考慮的選擇。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享