0
쉽게 사회 신원 서버 4 인증을 공급 업체 추가 할 수 있습니다

사람은, 그것은 몇 분 정도 걸립니다 : Identity Server를 4

public void ConfigureServices(IServiceCollection services) { 
    services.AddMvc(); 
    services.AddIdentityServer() 
     .AddXXX().AddYYY(); 
    services.AddAuthentication() 
     .AddGoogle("Google", options => { 
      options.XXX = XXX; 
     }) 
     .AddFacebook("Facebook", options => { 
      options.XXX = XXX; 
     }); 
} 

그런 다음 당신은 ASP를의 (클라이언트 응용 프로그램에서 일부 구성을 추가합니다. 우리의 경우 핵심 코어 MVC) ...

services.AddAuthentication(options => { 
    options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; 
    options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme; 
}) 
.AddCookie() 
.AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, options => { 
    options.ZZZ = ZZZ; 
}); 

... "소셜 로그인"이 작동합니다.
그렇습니다. 사용자는 보안 페이지를 입력하고 소셜 공급 업체 버튼 (예 : Google, Facebook)이있는 IDP 로그인 페이지로 리디렉션되고 인증 될 때 보안 페이지로 리다이렉션됩니다.

내 문제는 바로 여기에있다 - 내가 할 수있는 IS4에서 호스트 클라이언트 응용 프로그램이 로그인 페이지, 그리고 싶습니다.
전혀 가능합니까? IS4에서 어떤 구성을해야합니까?
클라이언트 응용 프로그램에서 무엇을 변경해야합니까?

답변

0

글쎄, 그건 어려울거야. IDSVR4는 소셜 로그인을 기반으로 토큰을 생성합니다. IDSVR을 우회하면 어떻게 그 토큰을 생성합니까?

링크를 만들면됩니다. IDSVR URL (Google/facebook 예 : "/ login/facebook"과 관련 있음)로 리디렉션되는 MVC 앱의 Google/Facebook으로 연결되어 올바른 공급자로 다시 리디렉션되고 IDSVR로 다시 리디렉션되고 다시 MVC 앱으로 리디렉션됩니다.

사용자는 IDSVR을 통과한다는 사실을 알 수 없습니다.

+0

제 의도는 공급 업체 로그인 페이지 자체가 아니라 사회 공급 업체 버튼이있는 페이지를 호스팅하는 것입니다. 흐름은 다음과 같습니다. 보안 페이지로 이동 >> 소셜 버튼이있는 페이지로 리디렉션 >> 버튼을 클릭하면 사회 공급 업체 >> 인증으로 리디렉션됩니다. >> 보안 페이지로 다시 리디렉션 – ZENIT

+0

네, 그렇게해야합니다. 그러나이 시나리오에서는 IdentityServer를 사용할 수 없습니다. IdentityServer에서 토큰 생성을 처리하게하려면 사회적 로그인으로 리디렉션하기 전에 IdentityServer를 통과해야합니다. –

관련 문제