source

소셜 로그인(OAuth)을 사용하여 사용자 지정 WP API 끝점 인증

ittop 2023. 10. 9. 23:34
반응형

소셜 로그인(OAuth)을 사용하여 사용자 지정 WP API 끝점 인증

저는 WP-API와 함께 Wordpress + WooCommerce를 모바일 e커머스 앱의 백엔드로 사용하고 있습니다.

제 목표는 앱 내에서 소셜 로그인(Facebook, Twitter, Google 등을 통해)을 제공하여 등록/로그인한 후 WooCommerce API를 사용하여 인증된 사용자의 모든 주문을 받는 것입니다.

현재 제 계획은 다음과 같습니다.

  1. 일부 클라이언트 SDK를 사용하여 사용자가 FB 계정을 사용하여 로그인할 수 있도록 합니다.
  2. 1단계부터 Wordpress DB에 사용자를 추가하기 위해 사용자 지정 엔드포인트로 전송되는 사용자 이름, 이메일 및 FB ID(예: https://github.com/royboy789/wp-api-social-login) )를 확인합니다.
  3. WP-API를 사용하여 주문에 대한 사용자 지정 엔드포인트 만들기(예: .../orders)
  4. Endpoint 기능 내부에서 사용자 인증 여부 확인
  5. 사용자가 인증되면 엔드포인트는 WooCommerce API 래퍼(https://github.com/kloon/WooCommerce-REST-API-Client-Library) 를 사용하여 사용자의 주문을 반환합니다.

하지만 사용자 인증 여부를 어떻게 확인해야 할지 몰라서 #3에서 어려움을 겪고 있습니다.

OAuth 권한 부여 서버에 연락하여 사용자의 자격 증명을 확인할 다른 엔드포인트를 만드는 것에 대해 생각했습니다.페이스북 접속 토큰.그리고 체크가 유효하다면 사용자의 해시를 사용하여 API에 대한 사용자 정의 Access Token을 만들 것입니다.신분증, 이메일 등등.클라이언트 앱으로 다시 전송됩니다.그러면 이 Access Token은 내 API로 호출할 때마다 사용되며, 그러면 해시 토큰에서 User ID를 읽고 이 User에 대한 모든 주문을 반환합니다.

그런데 왠지 기분이 좀 안 좋네요.특히 이런 식으로 내가 살아있는 액세스 토큰을 만들었기 때문에...

#2를 완료하면 WP의 HTTP 응답에 auth cookie: 질문이 가리키는 샘플에 있는 https://github.com/royboy789/wp-api-social-login/blob/master/inc/social-routes.php#L31 를 참조하십시오.

앱에서 어떤 HTTP 라이브러리를 사용하고 있는지는 확실하지 않지만 응답에 받은 쿠키를 저장하고 이후에 서버로 요청할 때 모두 재사용하는 경우 인증을 처리해야 합니다. 로그인/등록이 자동으로 로그인하므로 추가 체크/액세스 포인트가 필요하지 않습니다.그리고 표준 WP cookie checks는 새로운 요청에 대한 검증을 담당합니다.

언급URL : https://stackoverflow.com/questions/31172146/authenticate-custom-wp-api-endpoint-with-social-login-oauth

반응형