백엔드 개발 PHP 튜토리얼 PHP 및 OAuth: LinkedIn 로그인 통합 구현

PHP 및 OAuth: LinkedIn 로그인 통합 구현

Jul 28, 2023 pm 04:28 PM
php linkedin oauth

PHP 및 OAuth: LinkedIn 로그인 통합 구현

오늘날의 소셜 미디어 시대에 사용자는 다양한 플랫폼을 통해 등록하고 로그인할 수 있으므로 웹사이트 개발자를 위한 사용자 관리 및 사용자 정보 획득 프로세스가 크게 간편해집니다. OAuth는 사용자가 사용자 이름과 비밀번호를 직접 제공하지 않고도 특정 플랫폼의 리소스에 액세스할 수 있도록 타사 애플리케이션에 권한을 부여할 수 있는 개방형 표준입니다. 이 기사에서는 PHP와 OAuth를 사용하여 LinkedIn 로그인 통합을 구현하는 방법을 알아봅니다.

LinkedIn은 사용자가 전문 분야 내에서 네트워크를 형성하고 업무 경험과 성과를 공유할 수 있는 전문 네트워킹 플랫폼입니다. LinkedIn 로그인을 통합함으로써 웹사이트 개발자는 사용자의 개인정보를 보다 쉽게 ​​획득하고 보다 정확한 사용자 경험을 제공할 수 있습니다.

첫 번째 단계는 LinkedIn 개발자 플랫폼에서 애플리케이션을 만들고 해당 애플리케이션에 대한 API 키와 비밀 키를 얻는 것입니다. 개발자 플랫폼에 로그인하고 애플리케이션을 생성한 후 지침에 따라 필수 정보를 입력하세요. 애플리케이션을 성공적으로 생성한 후에는 다음에 사용할 자격 증명이 될 API 키와 비밀 키가 제공됩니다.

다음으로 OAuth 인증 프로세스를 구현하기 위해 PHP에서 OAuth 라이브러리를 사용해야 합니다. 먼저 필요한 PHP OAuth 확장을 설치해야 합니다. 설치하려면 명령줄에서 다음 명령을 실행하세요.

$ sudo apt-get install php-oauth
로그인 후 복사

설치가 성공적으로 완료되면 코드 작성을 시작할 수 있습니다.

<?php

$api_key = 'YOUR_API_KEY';
$api_secret = 'YOUR_API_SECRET';
$callback_url = 'YOUR_CALLBACK_URL';

$oauth = new OAuth($api_key, $api_secret);
$oauth->setAuthType(OAUTH_AUTH_TYPE_URI);

$request_token = $oauth->getRequestToken('https://api.linkedin.com/uas/oauth/requestToken');
$request_token_info = $oauth->getLastResponseInfo();

if ($request_token_info['http_code'] == 200) {
  $request_token = explode('&', $request_token);
  $oauth_verifier = $request_token['oauth_verifier'];
  $oauth_token = $request_token['oauth_token'];
  
  $_SESSION['oauth_token'] = $oauth_token;
  $_SESSION['oauth_verifier'] = $oauth_verifier;
  
  header('Location: https://api.linkedin.com/uas/oauth/authorize?oauth_token='.$oauth_token);
  exit;
} else {
  // 处理错误
}

?>
로그인 후 복사

위 코드에서는 먼저 LinkedIn 개발자 플랫폼에서 얻은 API 키와 키, 그리고 콜백 URL을 정의합니다. 그런 다음 OAuth 라이브러리를 사용하여 OAuth 객체를 생성하고 인증 유형을 URI로 설정합니다. 다음으로 getRequestToken 메소드를 사용하여 요청 토큰을 얻고 응답 정보를 얻습니다. 요청 토큰을 성공적으로 받으면 응답의 토큰과 인증자를 세션에 저장하고 인증을 위해 사용자를 LinkedIn 인증 페이지로 리디렉션합니다. getRequestToken方法获取一个请求令牌,并获取响应的信息。如果获取请求令牌成功,我们将响应中的令牌和验证器保存到会话中,并将用户重定向到LinkedIn授权页面进行授权。

完成授权后,LinkedIn将把用户重定向回我们的应用程序,并将验证器作为查询参数附加到回调URL中。我们可以在回调页面中获取验证器,并使用它来获取访问令牌。

<?php

$api_key = 'YOUR_API_KEY';
$api_secret = 'YOUR_API_SECRET';
$callback_url = 'YOUR_CALLBACK_URL';

$oauth_token = $_SESSION['oauth_token'];
$oauth_verifier = $_SESSION['oauth_verifier'];

$oauth = new OAuth($api_key, $api_secret);
$oauth->setAuthType(OAUTH_AUTH_TYPE_URI);
$oauth->setToken($oauth_token, $oauth_verifier);

$access_token = $oauth->getAccessToken('https://api.linkedin.com/uas/oauth/accessToken');
$access_token_info = $oauth->getLastResponseInfo();

if ($access_token_info['http_code'] == 200) {
  $access_token = explode('&', $access_token);
  $oauth_token = $access_token['oauth_token'];
  $oauth_token_secret = $access_token['oauth_token_secret'];
  
  // 使用访问令牌获取用户数据 
} else {
  // 处理错误
}

?>
로그인 후 복사

在上述代码中,我们首先从会话中获取之前保存的令牌和验证器。然后,我们使用这些令牌和验证器创建一个OAuth对象,并设置授权类型为URI。接下来,我们使用getAccessToken

인증이 완료되면 LinkedIn은 사용자를 애플리케이션으로 다시 리디렉션하고 유효성 검사기를 콜백 URL에 쿼리 매개변수로 추가합니다. 콜백 페이지에서 인증자를 가져와 이를 사용하여 액세스 토큰을 얻을 수 있습니다.

<?php

$api_key = 'YOUR_API_KEY';
$api_secret = 'YOUR_API_SECRET';
$callback_url = 'YOUR_CALLBACK_URL';
$oauth_token = 'USER_ACCESS_TOKEN';
$oauth_token_secret = 'USER_ACCESS_TOKEN_SECRET';

$oauth = new OAuth($api_key, $api_secret);
$oauth->setAuthType(OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setToken($oauth_token, $oauth_token_secret);

$oauth->fetch('https://api.linkedin.com/v2/me');
$user_data = json_decode($oauth->getLastResponse());

// 处理用户数据

?>
로그인 후 복사
위 코드에서는 먼저 세션에서 이전에 저장된 토큰과 인증자를 가져옵니다. 그런 다음 이러한 토큰과 인증자를 사용하여 OAuth 객체를 생성하고 인증 유형을 URI로 설정합니다. 다음으로 getAccessToken 메소드를 사용하여 액세스 토큰을 얻고 응답 정보를 얻습니다. 액세스 토큰 획득에 성공하면 응답의 토큰과 키를 적절한 변수에 저장합니다.

다음 단계는 액세스 토큰을 사용하여 사용자 데이터를 가져오는 것입니다. LinkedIn의 API 문서에 따르면 액세스 토큰을 사용하여 사용자의 기본 프로필, 계열사, 직위 및 기타 정보를 얻을 수 있습니다.

샘플 코드는 다음과 같습니다.

rrreee

위 코드에서는 먼저 API 키, API 키, 콜백 URL 및 사용자의 액세스 토큰과 비밀번호를 정의합니다. 그런 다음 OAuth 객체를 생성하고 인증 유형을 Authorization으로 설정합니다. 다음으로 사용자의 액세스 토큰과 비밀 키를 사용하여 사용자 데이터를 가져옵니다. 이 예에서는 LinkedIn의 v2 API를 사용하여 사용자 프로필을 가져옵니다.

사용자 데이터를 확보한 후 필요에 따라 데이터를 처리할 수 있습니다. 사용자 데이터를 데이터베이스에 저장하거나 특정 비즈니스 논리에 따라 다른 작업을 수행할 수 있습니다.

이 기사를 통해 PHP 및 OAuth를 사용하여 LinkedIn 로그인 통합을 구현하는 방법을 배웠습니다. OAuth를 통해 LinkedIn과 안전하게 통신하고 사용자 프로필을 얻을 수 있습니다. 이러한 방식으로 우리는 사용자에게 보다 개인화되고 정확한 사용자 경험을 제공할 수 있습니다. 🎜🎜이 기사가 도움이 되었기를 바라며 귀하의 개발 성공을 기원합니다! 🎜

위 내용은 PHP 및 OAuth: LinkedIn 로그인 통합 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

CakePHP 날짜 및 시간

CakePHP 프로젝트 구성 CakePHP 프로젝트 구성 Sep 10, 2024 pm 05:25 PM

CakePHP 프로젝트 구성

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

CakePHP 파일 업로드

CakePHP 라우팅 CakePHP 라우팅 Sep 10, 2024 pm 05:25 PM

CakePHP 라우팅

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP 토론

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP 빠른 가이드

See all articles