Azure B2C를 IDP로 사용하여 ASP.NET Framework SAML SSO를 구성하는 방법 가이드
회사 개요
ASP.NET SAML SSO(Single Sign-On) 모듈 활성화하는 기능을 제공합니다. SAML 싱글 사인온 ASP.NET 응용 프로그램을 위한 싱글 사인온 당신은 당신의 접근을 위해 하나의 비밀번호만 사용할 수 있습니다 ASP.NET 응용 프로그램 및 서비스. 당사 모듈은 모든 것과 호환됩니다. SAML 호환 ID 공급자. 여기서는 구성에 대한 단계별 가이드를 살펴보겠습니다. 통합 인증(SSO) ASP.NET과 Azure B2C 치고는 Azure B2C IdP로서.
플랫폼 지원 : ASP.NET SAML SSO 모듈은 ASP.NET 3.5 이상 프레임워크를 지원합니다.
전제조건 : 다운로드 및 설치
- 설치하려면 miniOrange SAML SSO NuGet 패키지 .NET 애플리케이션에서 miniOrange NuGet 패키지를 애플리케이션 위에 설치하기만 하면 됩니다.
PM> NuGet\Install-Package miniOrange.SAML.SSO
- 설치 후 브라우저를 열고 아래 URL을 사용하여 모듈 대시보드를 탐색해 보세요.
http(s)<your-dotnet-application-base-url>?ssoaction=config
- 등록 페이지나 로그인 페이지가 팝업되면 애플리케이션에 miniOrange SAML SSO 모듈이 성공적으로 추가된 것입니다.
- 다음을 클릭하여 귀하의 계정으로 등록하거나 로그인하십시오. 회원가입 버튼을 눌러 모듈을 구성합니다.
- 등록이 성공적으로 완료되면 등록된 이메일 주소로 평가판 라이선스 키가 전송됩니다.
- 모듈을 활성화하려면 다음 중 하나를 수행하세요.
- 입력 라이센스 키 제공된 입력 필드에 이메일을 통해 수신되었습니다.
- 다운로드한 라이센스 파일을 클릭하여 업로드하세요. Click Here 버튼을 클릭합니다.
OR
- 그런 다음 "위의 조건을 읽었으며 모듈을 활성화하고 싶습니다" 상자를 체크하고 클릭하십시오. 라이센스 활성화 버튼을 클릭합니다.
구성 단계
1. Azure B2C ID 공급자에 .NET 애플리케이션 메타데이터 제공
아래에는 SAML SP 메타데이터를 가져와 ID 공급자 측에서 구성할 수 있는 두 가지 방법이 자세히 나와 있습니다.
A] SAML 메타데이터 URL 또는 메타데이터 파일 사용
- . 플러그인 설정 메뉴, 찾다 서비스 제공업체 설정. 그 아래에는 메타데이터 URL과 SAML 메타데이터를 다운로드하는 옵션이 있습니다.
- 메타데이터 URL을 복사하거나 메타데이터 파일을 다운로드하여 ID 공급자 측에서 동일하게 구성하세요.
- 아래 스크린샷을 참고하시면 됩니다.
B] 메타데이터 수동 업로드
- 에서 서비스 제공업체 설정 섹션에서는 서비스 제공자 메타데이터를 수동으로 복사할 수 있습니다. SP 엔티티 ID, ACS URL, 싱글 로그아웃 URL 구성을 위해 ID 공급자와 공유하세요.
- 아래 스크린샷을 참고하시면 됩니다.
Identity Experience Framework 애플리케이션 등록
- 로그인 Azure B2C 포털.
- Azure AD B2C 테넌트에서 다음을 선택합니다. 앱 등록다음 선택 신규 등록.
- 럭셔리 이름에서 IdentityExperienceFramework를 입력합니다.
- $XNUMX Million 미만 지원되는 계정 유형, 고르다 이 조직 디렉터리의 계정만.
- $XNUMX Million 미만 리디렉션 URI, 웹을 선택한 다음 "https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com"을 입력합니다. 여기서 your-tenant-name은 Azure AD B2C 테넌트 도메인 이름입니다.
주의 사항: 다음 단계에서는 '권한' 섹션이 표시되지 않으면 해당 테넌트에 대한 활성 AzureAD B2C 구독이 없기 때문일 수 있습니다. AzureAD B2C 구독에 관한 세부 정보를 확인할 수 있습니다. 여기에서 확인하세요 다음 단계에 따라 새 테넌트를 만들 수 있습니다. 여기에서 확인하세요.
- $XNUMX Million 미만 권한,를 선택 openid 및 오프라인_액세스 권한에 관리자 동의 부여 확인란을 선택합니다.
- 를 클릭하십시오 회원가입.
- 기록 애플리케이션 (클라이언트) ID 이후 단계에서 사용하기 위해.
Identity Experience Framework 애플리케이션 등록
- $XNUMX Million 미만 관리, 고르다 API 노출.
- 선택 범위 추가를 선택한 다음 저장하고 계속을 선택하여 기본 애플리케이션 ID URI를 수락합니다.
- Azure AD B2C 테넌트에서 사용자 지정 정책 실행을 허용하는 범위를 만들려면 다음 값을 입력합니다.
- 범위 이름: 사용자_가장
- 관리자 동의 표시 이름: IdentityExperienceFramework에 액세스
- 관리자 동의 설명: 로그인한 사용자를 대신하여 애플리케이션이 IdentityExperienceFramework에 액세스하도록 허용합니다.
- 선택 범위 추가.
ProxyIdentityExperienceFramework 애플리케이션 등록
- 선택 앱 등록다음 선택 신규 등록.
- 럭셔리 이름에서 ProxyIdentityExperienceFramework를 입력합니다.
- $XNUMX Million 미만 지원되는 계정 유형, 고르다 이 조직 디렉터리의 계정만.
- $XNUMX Million 미만 리디렉션 URI, 드롭다운을 사용하여 선택 공개 클라이언트/네이티브(모바일 및 데스크톱).
- 럭셔리 리디렉션 URI, myapp://auth를 입력하세요.
- $XNUMX Million 미만 권한에서 openid 및 오프라인 액세스 권한에 관리자 동의 부여 확인란을 선택합니다.
- 선택 회원가입.
- 기록 애플리케이션 (클라이언트) ID 이후 단계에서 사용하기 위해.
다음으로, 애플리케이션이 공개 클라이언트로 처리되어야 함을 지정합니다.
- $XNUMX Million 미만 관리, 고르다 인증.
- $XNUMX Million 미만 "계정 정보"에서, 활성화 공용 클라이언트 흐름 허용 (예를 선택하세요).
- 선택 찜하기.
이제 이전에 IdentityExperienceFramework 등록에서 노출한 API 범위에 권한을 부여하세요.
- $XNUMX Million 미만 관리, 고르다 API 권한.
- $XNUMX Million 미만 구성된 권한, 고르다 권한 추가.
- 선택 내 API 탭을 선택한 다음 정체성경험프레임워크 응용 프로그램.
- $XNUMX Million 미만 허가,를 선택 user_impersonation 이전에 정의한 범위입니다.
- 선택 권한 추가. 지시에 따라 다음 단계로 진행하기 전에 몇 분 정도 기다리십시오.
- 선택 (테넌트 이름)에 대한 관리자 동의 부여.
- 현재 로그인한 관리자 계정을 선택하거나 최소한 클라우드 애플리케이션 관리자 역할이 할당된 Azure AD B2C 테넌트의 계정으로 로그인합니다.
- 선택 가능.
- 선택 새로 고침을 클릭한 다음 아래에 "...에 대해 부여됨"이 나타나는지 확인합니다. Status 범위 - 오프라인_액세스, openid 및 user_impersonation. 권한이 전파되는 데 몇 분 정도 걸릴 수 있습니다.
ASP.NET 애플리케이션 등록
- 앱 등록을 선택한 다음 새 등록을 선택합니다.
- WP-app과 같이 애플리케이션의 이름을 입력하세요.
- $XNUMX Million 미만 지원되는 계정 유형, 고르다 조직 디렉터리 또는 ID 공급자의 계정입니다. Azure AD B2C로 사용자를 인증하는 경우.
- $XNUMX Million 미만 리디렉션 URI을 클릭하고 웹을 선택한 다음, 서비스 제공업체 설정 miniOrange ASP.NET SAML 플러그인의 탭.
- 선택 회원가입.
- $XNUMX Million 미만 관리, 클릭 API 노출.
- 를 클릭하십시오 세트 애플리케이션 ID URI를 확인한 후 다음을 클릭하세요. 찜하기, 기본값을 적용합니다.
- 저장한 후 애플리케이션 ID URI를 복사하고 다음으로 이동합니다. 서비스 제공업체 메타데이터 플러그인 탭.
- 아래에 복사한 값을 붙여넣으세요. SP 엔터티 ID/발행자 이 탭에 제공된 필드입니다.
- 저장을 클릭하십시오.
SSO 정책 생성
-
Azure B2C 포털에서 B2C 테넌트의 개요 섹션으로 이동하여 테넌트 이름을 기록합니다.
주의사항: B2C 도메인이 b2ctest.onmicrosoft.com이면 테넌트 이름은 b2ctest입니다.
- 귀하의 입력 Azure B2C 테넌트 이름 위와 같은 단계에서 등록한 IdentityExperienceFramework 및 ProxyIdentityExperienceFramework 앱의 애플리케이션 ID와 함께 아래에 있습니다.
- 온 클릭 Azure B2C 정책 생성 버튼을 눌러 SSO 정책을 다운로드하세요.
- 다운로드한 zip 파일을 추출합니다. 여기에는 다음 단계에서 필요한 정책 파일과 인증서(.pfx)가 포함되어 있습니다.
인증서 설정 및 업로드
주의 사항: 다음 단계에서는 '아이덴티티 경험 프레임워크' 클릭할 수 없으면 해당 테넌트에 대한 활성 Azure AD B2C 구독이 없기 때문일 수 있습니다. Azure AD B2C 구독에 대한 세부 정보를 확인할 수 있습니다. 여기에서 확인하세요 다음 단계에 따라 새 테넌트를 만들 수 있습니다. 여기에서 확인하세요.
- 에 로그인 Azure 포털 Azure AD B2C 테넌트로 이동합니다.
- $XNUMX Million 미만 정책, 고르다 아이덴티티 경험 프레임워크 그리고 정책 키.
- 선택 추가다음 선택 옵션 > 업로드.
- 이름을 SamlIdpCert로 입력합니다. 접두사 B2C_1A_가 키 이름에 자동으로 추가됩니다.
- 업로드 파일 제어를 사용하여 SSO 정책(tenantname-cert.pfx)과 함께 위 단계에서 생성된 인증서를 업로드합니다.
- 인증서 비밀번호를 테넌트 이름으로 입력하고 "만들기"를 클릭하세요. 예를 들어 테넌트 이름이 xyzb2c.onmicrosoft.com이면 비밀번호를 xyzb2c로 입력하세요.
- B2C_1A_SamlIdpCert라는 이름의 새 정책 키를 볼 수 있습니다.
서명 키 만들기
- Azure AD B2C 테넌트의 개요 페이지에서 정책, 고르다 아이덴티티 경험 프레임워크.
- 선택 정책 키 다음을 선택하십시오. 추가.
- 럭셔리 형식에서 생성을 선택합니다.
- In 이름에서 TokenSigningKeyContainer를 입력합니다.
- 럭셔리 키 타입에서 RSA를 선택하세요.
- 럭셔리 키 사용법에서 서명을 선택하세요.
- 선택 만들기.
암호화 키 생성
- Azure AD B2C 테넌트의 개요 페이지에서 정책, 고르다 아이덴티티 경험 프레임워크.
- 선택 정책 키 다음을 선택하십시오. 추가.
- 럭셔리 형식에서 생성을 선택합니다.
- In 이름에서 TokenEncryptionKeyContainer를 입력합니다.
- 럭셔리 키 타입에서 RSA를 선택하세요.
- 럭셔리 키 사용법에서 암호화를 선택하세요.
- 선택 만들기.
정책 업로드
- 선택 아이덴티티 경험 프레임워크 Azure Portal의 B2C 테넌트에 있는 메뉴 항목입니다.
- 선택 맞춤 정책 업로드.
- 다음 순서에 따라 위 단계에서 다운로드한 정책 파일을 업로드합니다.
- TrustFrameworkBase.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- 프로필편집.xml
- 비밀번호 재설정.xml
- SignUpOrSigninSAML.xml
- 파일을 업로드하면 Azure는 각각에 접두사 B2C_1A_를 추가합니다.
ASP.NET Single Sign-On(SSO)을 달성하기 위해 Azure B2C를 SAML IDP(ID 공급자)로 성공적으로 구성했습니다.
2. .NET 애플리케이션에서 AzureB2C ID 공급자 메타데이터 구성
- 온 클릭 IDP를 선택하세요 새 ID 공급자를 구성하려면 버튼을 클릭하세요.
- 아래의 플러그인 설정 탭에서 AzureB2C 표시된 목록에서 ID 공급자를 선택하세요.
모듈에서 SAML ID 공급자 메타데이터를 구성하는 방법은 두 가지가 있으며, 아래에 자세히 설명되어 있습니다.
A] IDP 메타데이터 업로드 버튼을 사용하여 메타데이터를 업로드합니다.
- ID 공급자가 메타데이터 URL 또는 메타데이터 파일(.xml 형식만 해당)을 제공한 경우 다음을 사용하여 모듈에서 ID 공급자 메타데이터를 간단히 구성할 수 있습니다. IDP 메타데이터 업로드 옵션을 선택합니다.
- 메타데이터 URL을 복사하거나 메타데이터 파일을 다운로드하여 ID 공급자 측에서 동일하게 구성하세요.
- 아래 스크린샷을 참고하시면 됩니다.
- 사용 가능한 메타데이터 형식에 따라 옵션 중 하나를 선택할 수 있습니다.
B] ID 공급자 메타데이터를 수동으로 구성합니다.
- 구성한 후 아이덴티티 공급자, 그것은 당신에게 다음을 제공할 것입니다 IDP 엔터티 ID, IDP 싱글 사인온 URL SAML X509 인증서 각각 필드.
- 찜하기 IDP 세부 정보를 저장합니다.
3. SAML SSO 테스트
- 메타데이터 세부 정보를 업로드한 후 다음으로 이동합니다. ID 공급자 설정 섹션. 마우스를 올려 놓으세요 작업 선택 드롭다운을 클릭하고 테스트 구성.
- 아래 스크린샷은 성공적인 결과를 보여줍니다. 클릭 SSO 통합 SSO 통합을 계속 진행합니다.
- 모듈 측에서 오류가 발생하는 경우 아래와 비슷한 창이 표시됩니다.
- 오류를 해결하려면 다음 단계를 따르세요.
- $XNUMX Million 미만 문제 해결 탭에서 토글을 활성화하여 플러그인 로그를 수신하세요.
- 활성화되면 다음으로 이동하여 플러그인 로그를 검색할 수 있습니다. 플러그인 설정 탭을 클릭하고 테스트 구성.
- 를 다운로드 로그 파일 인사말 문제 해결 탭을 클릭하여 무엇이 잘못되었는지 확인하세요.
- 당신은 공유할 수 있습니다 로그 파일 우리와 함께 aspnetsupport@xecurify.com 문제를 해결하기 위해 저희 팀에서 연락을 드릴 것입니다.
4. 속성 매핑
- 구성을 테스트한 후 애플리케이션 속성을 ID 공급자(IdP) 속성과 매핑합니다.
- miniOrange ASP.NET SAML SSO 모듈의 왼쪽 메뉴에서 다음을 클릭하세요. 속성/역할 매핑 그림에 표시된 대로 탭합니다.
- IdP에서 추가 속성을 전달하려면 속성 이름과 해당 속성 값을 입력하십시오. 사용자 정의 속성 매핑.
- 참고 : 모든 매핑된 속성은 세션에 저장되므로 애플리케이션에서 액세스할 수 있습니다.
- 속성이 매핑되면 클릭하세요. 속성 매핑 저장 변경 사항을 적용합니다.
5. 통합 코드
- 이 단계를 통해 세션 형태로 애플리케이션에서 SSO 사용자 정보를 검색할 수 있습니다.
- 당신은 또한 볼 수 있습니다 설정 둘러보기 ASP.NET 모듈 애플리케이션에서 SSO 통합이 어떻게 작동하는지 이해합니다.
- 사용자 속성에 액세스하려는 곳 어디에나 해당 코드 조각을 복사하여 붙여넣기만 하면 됩니다.
- 참고 : 평가판 모듈을 사용하면 인증된 사용자 정보가 세션 변수에 저장됩니다. 프리미엄 플러그인에서는 헤더 기반, 폼 쿠키 기반, JWT 기반 인증을 사용하여 사용자 클레임을 설정할 수 있습니다.
6. 로그인 설정
- 마우스를 올리면 작업 선택 그리고 클릭 SSO 링크를 복사합니다.
- SSO를 수행하려는 애플리케이션에서 다음 URL을 링크로 사용하세요.
https://<asp.net-module-base-url>/?ssoaction=login
- 예를 들어 다음과 같이 사용할 수 있습니다.
<a href="https://<asp.net-module-base-url>/?ssoaction=login">Log
in</a>
7. 로그아웃 설정
- SLO를 수행하려는 애플리케이션에 대한 링크로 다음 URL을 사용하세요.
https://<asp.net-module-base-url>/?ssoaction=logout
- 예를 들어 다음과 같이 사용할 수 있습니다.
<a href="https://<asp.net-module-base-url>/?ssoaction=logout">Log
out</a>
관련 기사
연락처
다음 주소로 문의하십시오. aspnetsupport@xecurify.com저희 팀이 ASP.NET Framework SAML SSO 설정을 도와드립니다. 고객님의 요구 사항에 맞춰 가장 적합한 솔루션/플랜을 선택하실 수 있도록 도와드리겠습니다.
