최신 웹 응용 프로그램에서 사용자 인증은 중요한 기능입니다. 널리 사용되는 인증 프로토콜로서 OAUTH를 통해 사용자는 기존 계정 정보로 로그인하여 사용자 경험 및 보안을 향상시킬 수 있습니다. 이 기사에서는 PHP 및 OAUTH 프로토콜을 사용하여 Microsoft 로그인의 통합을 완료하는 방법을 설명합니다.
OAUTH는 사용자가 타사 응용 프로그램을 통해 안전하게 로그인하면서 계정 자격 증명을 보호하지 않도록 설계된 개방형 표준 인증 프로토콜입니다. 핵심 프로세스에는 다음과 같은 주요 역할이 포함됩니다.
사용자는 신원 인증 및 승인의 주제이며 개인 데이터를 소유하며 타사 응용 프로그램에 승인 할 데이터를 결정합니다.
타사 응용 프로그램은 OAUTH 프로토콜을 통해 사용자 승인을 얻어 다른 플랫폼에서 사용자의 리소스에 액세스합니다.
공인 서버는 액세스 보안 및 규정 준수를 보장하기 위해 사용자의 신원을 확인하고 타사 응용 프로그램에 액세스 토큰을 발행 할 책임이 있습니다.
리소스 서버는 사용자 데이터를 저장하고 법적 액세스 토큰을 보유한 타사 응용 프로그램이 해당 리소스에 액세스 할 수 있도록합니다.
Microsoft Login은 OAUTH 기반 인증 서비스로 사용자가 Microsoft 계정으로 타사 응용 프로그램에 로그인 할 수 있습니다. 구현 단계는 다음과 같습니다.
먼저 Microsoft 인증 서버와 상호 작용하는 데 사용되는 클라이언트 ID 및 클라이언트 키를 얻으려면 Microsoft Developer Portal에 응용 프로그램을 등록해야합니다.
인증을 완료 한 후 사용자가 응용 프로그램으로 안전하게 돌아갈 수 있도록 콜백 주소 (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();
// 여기에서 액세스 토큰을 사용하여 후속 작업을 수행 할 수 있습니다.
액세스 토큰을 인증 코드로 교환 한 후 토큰을 사용하여 Microsoft API를 호출하거나 다른 보호 자료에 액세스 할 수 있습니다.
이 기사는 PHP 및 OAUTH 프로토콜을 기반으로 Microsoft 로그인 통합을 구현하는 방법을 자세히 소개합니다. 실제 코드 예제와 결합 된 OAUTH 및 Microsoft 인증 프로세스의 핵심 개념을 이해함으로써 응용 프로그램의 Microsoft 계정에 안전하게 액세스하여 사용자 경험 및 시스템 보안을 향상시킬 수 있습니다.