4

웹 API (asp.net core) 및 SPA (react-boilerplate)를 사용하는 응용 프로그램에서 작업하고 있습니다. 사용자 등록/로그인 작업을 시작합니다. 요구 사항 중 하나는 사용자가 Facebook, Google 등을 사용하여 로그인 할 수 있도록 허용하는 것입니다.Identity Server 4 SPA에 대한 소셜 로그

저는 몇 주 동안 신원 확인 서버 4를 찾고있었습니다. 솔직히, 그것은 과잉 느낌. 그러나 저는 그것을 구현하려고합니다. 자바 스크립트 클라이언트 샘플이 있지만이 클라이언트는 외부 공급자를 사용하지 않습니다. 아무도 전에 이런 짓을했다면 궁금해하니? 나는 OAuth에 대한 전문가가 아니지만 내 사용자를 토큰 서비스에 인증하도록 리디렉션해야한다고 가정하고 일단 인증을 원하는대로 사용하고 URL의 토큰을 사용하여 내 SPA로 리디렉션합니다. 그러나 나는 이것을하는 방법에 대한 예제를 발견하지 못했습니다.

다른 접근법은 웹 API에서 간단한 JWT 인증을 받고 외부 공급자의 javascript-SDK를 사용하여 소셜 로그인을 구현 한 다음 토큰의 유효성을 검사하고 새 사용자로 내 Db에 저장하고 내 자신의 JWT 토큰을 생성합니다.

1) 어떤 접근 방식을 권하고 싶습니까?
2) 인증을 위해 외부 공급자를 사용하는 javascript 클라이언트와 함께 Identity Server 4의 예가 있습니까?

답변

4

외부 로그인에 대한 이해가 올바르지 않은 것으로 보입니다. Web API, SPA 및 IdentityServer의 세 가지 응용 프로그램이 있어야합니다. FB 및 Google과 같은 ID 공급자는 Javascript 클라이언트가 아닌 IdentityServer에서 설정해야합니다.

빠른 시작 7을 참조하십시오. https://github.com/IdentityServer/IdentityServer4.Samples/tree/release/Quickstarts/7_JavaScriptClient/src. Javascript 클라이언트는 리디렉션/저장 토큰을 처리 할 IdentityModel 클라이언트를 사용합니다.