現在の位置: ホーム> 最新記事一覧> PHP統合Microsoft OAuthログインチュートリアル

PHP統合Microsoft OAuthログインチュートリアル

gitbox 2025-07-28

導入

最新のWebアプリケーションでは、ユーザー認証は重要な機能です。人気のある認証プロトコルとして、OAUTHを使用すると、ユーザーは既存のアカウント情報でログインし、ユーザーエクスペリエンスとセキュリティを改善できます。この記事では、PHPとOAuthプロトコルを使用してMicrosoftログインの統合を完了する方法について説明します。

Oauthの紹介

OAUTHは、ユーザーがアカウントの資格情報がリークされないように保護しながら、サードパーティのアプリケーションを安全にログインできるように設計されたオープン標準認証プロトコルです。そのコアプロセスには、次の重要な役割が含まれます。

ユーザー

ユーザーは、ID認証と承認の対象であり、個人データを所有し、サードパーティのアプリケーションに承認するデータを決定します。

サードパーティのアプリケーション

サードパーティのアプリケーションは、OAUTHプロトコルを介してユーザー認証を取得して、他のプラットフォーム上のユーザーのリソースにアクセスします。

承認サーバー

承認されたサーバーは、ユーザーのIDを確認し、アクセスセキュリティとコンプライアンスを確保するために、アクセストークンをサードパーティアプリケーションに発行する責任があります。

リソースサーバー

リソースサーバーはユーザーデータを保存し、法的アクセストークンを保持しているサードパーティアプリケーションが対応するリソースにアクセスできるようにします。

Microsoftログイン統合

Microsoft Loginは、ユーザーがMicrosoftアカウントを使用してサードパーティアプリケーションにログインできるOAUTHベースの認証サービスです。実装手順は次のとおりです。

アプリケーションを作成します

まず、Microsoft Developer Portalにアプリケーションを登録して、Microsoft認証サーバーと対話するために使用されるクライアントIDとクライアントキーを取得する必要があります。

クライアントリダイレクトURIを構成します

コールバックアドレス(URIをリダイレクト)を設定して、認証を完了した後にユーザーがアプリケーションに安全に戻ることができることを確認します。

認証リクエストを開始します

資格情報を準備した後、PHPおよびOAUTHクライアントライブラリを使用して、認証要求を開始します。サンプルコードは次のとおりです。

 $provider = new \League\OAuth2\Client\Provider\Microsoft([
    'clientId'     => 'YOUR_CLIENT_ID',
    'clientSecret' => 'YOUR_CLIENT_SECRET',
    'redirectUri'  => 'YOUR_REDIRECT_URI',
]);
$authUrl = $provider->getAuthorizationUrl();
header('Location: ' . $authUrl);
exit;

上記のコードでは、Microsoft OAuthクライアントをインスタンス化し、認証URLを取得し、ユーザーをリダイレクトします。

許可応答を処理します

ユーザーが承認された後、Microsoft Authentication Serverは承認コードを返します。アクセストークンを取得するには、応答を処理する必要があります。サンプルコードは次のとおりです。

 $provider = new \League\OAuth2\Client\Provider\Microsoft([
    'clientId'     => 'YOUR_CLIENT_ID',
    'clientSecret' => 'YOUR_CLIENT_SECRET',
    'redirectUri'  => 'YOUR_REDIRECT_URI',
]);
$code = $_GET['code'];
$token = $provider->getAccessToken('authorization_code', [
    'code' => $code
]);
$accessToken = $token->getToken();
// ここでは、アクセストークンを使用して後続の操作を実行できます

Accessトークンを承認コードで交換した後、トークンを使用してMicrosoft APIを呼び出すか、その他の保護されたリソースにアクセスできます。

結論は

この記事では、PHPおよびOAUTHプロトコルに基づいてMicrosoftログイン統合を実装する方法を詳細に紹介します。 OAUTHおよびMicrosoft認証プロセスのコアコンセプトを実用的なコード例と組み合わせて理解することにより、Microsoftアカウントにアプリケーションに安全にアクセスし、ユーザーエクスペリエンスとシステムセキュリティを改善できます。