8

내 REST 서비스 및 모바일 앱에 spring social을 사용하려고합니다.스프링 소셜이있는 모바일 가입

나는 최선의 접근 방식이 무엇인지 궁금합니다.

linkedin, 내 모바일 앱 안에 google 로그인 및 비밀번호 인증을 사용할 계획입니다. 이 소셜 로그는 내 데이터베이스의 사용자와 연결된 이어야합니다.

스프링 애플리케이션은 JWT 토큰으로 보안되어야하는 API로 작동합니다. 모바일 앱은 나중에이 JWT 토큰을 사용하여 API를 사용합니다.

모바일에서 링크드 인, 페이스 북 또는 암호로 가입하거나 로그인 할 수있는 권한이 필요합니다.

는 지금까지 내가 모바일 이해로 https://spring.io/guides/tutorials/spring-boot-oauth2/

에 설명 된 것과 다른 OAuth를 흐름을 필요에 명시된대로 흐름 "코드 교류 증명 키"필요한 것 같다 : https://auth0.com/docs/api-auth/grant/authorization-code-pkce

이 맞습니까? 나는 스프링 사회와 함께 이것을 가장 잘 수행 할 수있는 정보를 찾지 못했고 스프링 사회가이 유스 케이스를 지원한다면 어떤 정보도 찾지 못했다.

누군가 올바른 방향으로 나를 가리킬 수 있습니까? 방금 모바일 응용 프로그램이 아닌 단일 페이지 응용 프로그램으로이 작업을 수행하는 방법에 대한 정보를 찾았습니다. 많은 감사드립니다!

답변

1

한 가지 가능한 방법은 모바일 앱이 인증 사용 토큰을 검색하기 위해 SSO를 할 링크드 인 또는 Google의 SDK를 사용

  1. 될 것이다.
  2. 모바일 앱은이를 백엔드 서비스에 전달합니다.이 서비스는이를 사용하여 oauth 서비스에서 사용자 세부 정보 (예 : 전자 메일)를 검색합니다.
  3. 백엔드 서비스는 사용자 세부 정보 (예 : 기존 사용자와의 링크)에 대한 추가 작업을 수행 할 수 있습니다.
  4. 백엔드 서비스가 JWT 토큰을 모바일 앱에 반환하면 SSO가 종료됩니다.

SSO는 사용자를 연결할 전자 메일 주소를 반환 할 수 있어야합니다. 때로는 명시 적으로 (Facebook이 요구하는) 허가를 신청해야합니다.

이 접근법의 핵심은 SSA 공급자의 SDK를 사용하여 모바일 응용 프로그램에서 처리되기 때문에 백엔드 서비스에서 OAuth2 라이브러리를 완전히 사용하지 않는 것입니다. 편집 Mobile SSO Flow

======== :

흐름은 다음 그림에 요약되어

우리는 하나 개의 모바일 앱 페이스 북 SSO를 수행하는이 방법을 사용하고 아주 일 잘. 모바일 앱은 iOS에 있었고 백엔드 서비스는 Spring Boot였습니다.

토론을 환영합니다.

+0

이 게시물에 대한 답변을 작성한 지 오래되었지만 가능한 경우 솔루션 구현 방법에 대한 자세한 정보를 제공 할 수 있습니까? –