# Discourse에서 Asp.Net Core 3.1 웹앱을 Identity Provider로 사용하려면 어떻게 해야 하나요?

**URL:** <https://meta.discourse.org/t/how-can-i-make-discourse-use-asp-net-core-3-1-webapp-as-an-identity-provider/161051>\
**Category:** SSO\
**Created:** [8월 16, 2020, 4:50오후 UTC](https://meta.discourse.org/t/how-can-i-make-discourse-use-asp-net-core-3-1-webapp-as-an-identity-provider/161051 "2020-08-16T16:50:49Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![DotNetCoder](https://avatars.discourse-cdn.com/v4/letter/d/edb3f5/32.png) [@DotNetCoder](https://meta.discourse.org/u/DotNetCoder)\
**Post date:** [8월 16, 2020, 4:50오후 UTC](https://meta.discourse.org/t/how-can-i-make-discourse-use-asp-net-core-3-1-webapp-as-an-identity-provider/161051/1 "2020-08-16T16:50:49Z")

</div>

해결하려는 문제는 다음과 같습니다:

1. `beta.example.com`에서 Identity(아직 Identity Server는 아님)를 사용하는 `Asp.net` Core 3.1 웹 애플리케이션을 운영 중입니다. 사용자는 등록, 프로필 생성, Google/FB 로그인 등을 수행할 수 있습니다. 코드를 거의 수정하지 않은 표준적인 `ASP.net` 인증/인가 구조입니다.
2. 서브도메인(`forumbeta.example.com`)에서 Discourse 포럼을 운영 중입니다.

사용자 저장소(user store)는 dotnet core 애플리케이션에서 유지 관리되기를 원합니다. 즉, 해당 애플리케이션이 Identity Provider(아이디 제공자) 역할을 수행해야 합니다. 사용자가 Discourse에 로그인하려고 할 때, Discourse는 웹 애플리케이션에 사용자의 정보(이름, 이메일, 기타 속성 등)를 요청해야 합니다. 사용자가 웹 애플리케이션에 존재하고 이미 로그인된 상태라면, Discourse는 해당 사용자를 로그인 상태로 처리하고 게시글 작성 권한을 부여해야 합니다. 사용자가 존재하지 않거나 로그인되어 있지 않다면, 사용자는 애플리케이션의 로그인/등록 페이지로 리다이렉트되어 계정을 생성하거나 로그인한 후 다시 Discourse로 리다이렉트되어야 합니다.

이 주제에 대해 많은 자료를 조사해 보았는데, dotnet 애플리케이션에 Identity Server 4를 설치하고 설정하여 Identity Provider로 기능하도록 해야 하는 것으로 보입니다. 그런 다음, 다음 중 하나를 수행해야 할 것 같습니다:

1. Discourse의 내장 SSO 기능 사용  
또는
2. Discourse에 Oauth2 플러그인을 설치하고 설정

현재 이 부분에서 다소 혼란스럽습니다. 웹에 있는 정보가 다소 구식이라 시간 낭비 없이 진행할 수 있도록 경험이 많은 분들의 도움을 받고 싶습니다.

---

_[View the full topic](https://meta.discourse.org/t/how-can-i-make-discourse-use-asp-net-core-3-1-webapp-as-an-identity-provider/161051)._
