OpenID Connect는 OAUTH 2.0 프로토콜을 기반으로 한 인증 및 인증 프로토콜입니다. 이를 통해 OpenID 제공 업체 (예 : Google, Facebook 등)에서 계정 자격 증명을 사용하여 ID 인증을 완료 할 수 있습니다. 이 프로토콜을 통해 개발자는 표준화 된 방식으로 사용자 ID를 검증하고 응용 프로그램의 안전한 인증을 구현할 수 있습니다.
시작하기 전에 PHP, 웹 서버 (예 : Apache) 및 관련 구성 요소 : OpenSSL, CURL 및 JSON이 서버 환경에 설치되어 있는지 확인하십시오. 설치되지 않은 경우 다음 명령을 통해 설치할 수 있습니다.
$ sudo apt-get install php openssl php-curl php-json
먼저 제공자와 통신하고 사용자 자격 증명을 얻기 위해 OpenID 제공 업체의 개발자 콘솔에서 클라이언트를 만들어야합니다. 특정 단계에는 다음이 포함됩니다.
개발자 콘솔에서 새 애플리케이션을 작성하고 고유 한 클라이언트 ID 및 키 (클라이언트 비밀)를 얻고 성공적인 인증 후 리디렉션 URL을 구성하십시오.
다음으로 PHP 코드를 사용하여 OpenID Connect 보안 인증 프로세스를 구현하십시오.
먼저 필요한 라이브러리를 소개합니다.
require_once 'vendor/autoload.php';
use OpenIDConnectClient;
그런 다음 클라이언트 인스턴스를 작성하고 관련 매개 변수를 설정합니다.
$clientID = 'your-client-id';
$clientSecret = 'your-client-secret';
$redirectURL = 'your-redirect-url';
$oidc = new OpenIDConnectClient($clientID, $clientSecret);
$oidc->setRedirectURL($redirectURL);
$oidc->setProviderURL('https://your-openid-provider.com');
인증 요청 시작 :
if (!isset($_GET['code'])) {
// 사용자가 인증되지 않습니다,인증 페이지로 이동하십시오
$authorizationURL = $oidc->getAuthorizationURL();
header('Location: ' . $authorizationURL);
exit;
} else {
// 사용자 인증,인증 코드를 통해 액세스 토큰을 얻으십시오
$code = $_GET['code'];
$oidc->authenticate($code);
$accessToken = $oidc->getAccessToken();
$userInfo = $oidc->requestUserInfo();
// 여기에서 사용자 로그인 또는 관련 비즈니스 로직을 구현하십시오
// ...
}
OpenID Connect 프로토콜을 통해 PHP 응용 프로그램은 표준 및 안전한 사용자 ID 인증을 구현할 수 있습니다. 전체 프로세스에는 클라이언트 생성, 사용자가 인증을 완료하도록 안내하고, 인증 코드를 사용하여 액세스 토큰 교환 및 사용자 정보를 얻는 것이 포함됩니다. 이 방법은 사용자 이름과 암호의 직접 처리를 피하고 응용 프로그램 보안 및 사용자 경험을 향상시킵니다.
이 기사가 보안 PHP 인증 메커니즘을 구축하기 위해 OpenID Connect를 더 잘 이해하고 적용하는 데 도움이되기를 바랍니다.