LINE 계정으로 Azure ADB2C에 로그인

16329 단어 AzureAzureADB2C
아주어 ADB2C에서는 오픈ID 커넥트와 SAML 등 협약을 통해 외부 ID 제공자와 협력해 페이스북과 트위터 등 소셜 계정에 로그인할 수 있다.
참조: https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/add-identity-provider
이 글은 OpenID Connect를 사용하여 라인 계정으로 ADB2C에 로그인하는 방법을 소개했다.
Open ID Connect 설정(LINE)
참조: https://developers.line.biz/ja/docs/line-login/integrate-line-login/
공급자 및 채널 생성
  • LINE Developers Console에 액세스하여 새로운 공급업체를 만듭니다.
  • 공급업체의 채널 설정에서 LINE 로그인을 선택합니다.

  • 채널 이름과 관리자의 메일 주소 등 정보를 입력하고 만듭니다.
  • 애플리케이션 유형웹 애플리케이션을 선택합니다.



  • 채널을 생성한 후 기본 설정 화면에서 다음 값을 제어합니다.
  • 채널 ID
  • 채널 기밀


  • 콜백 URL 만들기
  • LINE 로그인 설정 레이블을 표시하고 [호출 URL]에서 설정https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp합니다.
  • your-tenant-name곳은 당신이 사용하는 B2C 세입자 이름으로 바꿔 주세요.

  • 공개 채널
    채널은 기본적으로 비공개 상태입니다.
    공개되지 않으면 라인에 로그인할 수 있는 사용자는 이미 초대한 사용자로 한정되므로 다른 라인 계정으로 로그인하려면 채널을 공개해야 한다.
    참조: https://developers.line.biz/ja/docs/line-login/getting-started/#step-6-publish-channel
    채널 설정 화면에서 비공개 상태를 선택하여 공개할 수 있다.
    ※ 통로는 공개에서 비공개로 바뀔 수 없으며, 다시 비공개하면 통로를 다시 만들어야 합니다.

    【보충】신청 메일 주소의 획득 권한
    LINE에서는 Google 등과 마찬가지로 로그인한 사용자의 메일 주소를 가져와 B2C와 협력할 수 있습니다.
    그러나 문서에서 인용한 바와 같이 메일 주소를 얻으려면 메일 주소를 얻거나 사용하는 내용을 따로 준비해야 하기 때문에 이번에는 생략합니다.
    신청조건에 동의하여 사용자에게 메일 주소를 취득하고 사용하라는 서면 캡처를 업로드합니다.
    IDP 설정 사용자화(ADB2C)
    B2C 관리 화면에서 LINE 로그인을 설정합니다.
    공통 OpenId Connect의 설정을 참고하여 사용자 프로세스와 사용자 정의 정책의 설정을 소개합니다.
    사용자 흐름
  • B2C 관리 화면 메뉴에서 ID 공급자 를 선택하고 새 Open ID Connect 공급자 를 선택합니다.

  • 설정 화면에 다음 정보를 입력하고 저장합니다.
  • 이름: LINE(아무 이름도 문제 없음)
  • 메타데이터 URL: https://access.line.me/.well-known/openid-configuration
  • 클라이언트 ID: 공급자 및 채널 생성에서 생성된 채널 ID
  • 클라이언트 기밀: 공급자 및 채널 생성에서 생성된 채널 기밀
  • 역할 영역: openid profile
  • 응답의 종류: code
  • 응답 모드: form_post
  • 사용자 ID: sub
  • 표시 이름: name

  • 서명 및 로그인을 작성하는 사용자 프로세스
  • 사용자 흐름 생성 화면의 사용자 정의 ID 공급자는 방금 추가한 ID 공급자를 선택합니다.
  • 사용자 지정 정책
    사전 요구 사항으로 사용자 지정 정책은 다음 URL의 Social Accents 정책을 기반으로 설명됩니다.
    ※ 다음 전략은 페이스북 로그인을 전제로 하며, 미리 설정을 검토해 주십시오.

  • B2C에서 화면을 관리하는 정책 키 설정에서 다음 키를 추가합니다.
  • 옵션: 수동
  • 이름: LINESecret
  • 비밀: 공급자 및 채널 생성에서 생성된 채널 비밀
  • 설정 활성화일: 검사하지 않음
  • 유효기간 설정: 미검사
  • 키 사용 방법: 서명

  • 정책 키 일람표에 "B2C_1A_{シークレット名}"이 추가되어 키워드 이름이 유지됩니다.

  • 사용자 지정 정책TrustFrameworkBase.xml 아래에 LINE의 ID 공급자를 추가합니다.
  • ClaimsProviders에서 설정공급자 및 채널 생성된 채널 ID입니다.
  • {クライアントID} 중.에 추가된 정책 키워드 이름입니다.
  • <ClaimsProvider>
      <Domain>line.me</Domain>
      <DisplayName>Login with LINE</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="LINE-OpenIdConnect">
          <DisplayName>LINE</DisplayName>
          <Description>Login with your LINE account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://access.line.me/.well-known/openid-configuration</Item>
            <Item Key="client_id">{クライアントID}</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="{シークレットキー名}" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub"/>
            <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid"/>
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="line.me" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    

  • ID 공급자를 사용자 지정 정책{シークレットキー名}TrustFrameworkBase.xml에 설정합니다.

  • UserJourneys 소속UserJourney에서는 1단계SignUpOrSignIn와 2단계ClaimsProviderSelections 아래에 ID 제공자 설정을 추가합니다.
    <UserJourney Id="SignUpOrSignIn">
      <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
          <ClaimsProviderSelections>
            <ClaimsProviderSelection TargetClaimsExchangeId="LINEExchange" />
            ...
          </ClaimsProviderSelections>
          ...
        </OrchestrationStep>
        <OrchestrationStep Order="2" Type="ClaimsExchange">
          ...
          <ClaimsExchanges>
            <ClaimsExchange Id="LINEExchange" TechnicalProfileReferenceId="LINE-OpenIdConnect" />
            ...
          </ClaimsExchanges>
        </OrchestrationStep>
      </OrchestrationSteps>
      ...
    </UserJourney>
    

  • 다음 순서에 따라 사용자 정의 정책을 업로드합니다.
  • TrustFrameworkBase.xml
  • TrustFrameworkLocalization.xml
  • TrustFrameworkExtensions.xml
  • SignUpOrSignin.xml
  • 동작 확인
    이렇게 하면 LINE 로그인 설정이 완료됩니다.
    전략을 집행해 보다.
  • 프로세스를 수행하면 LINE 로그인 화면이 표시됩니다.
  • QR코드에 로그인해 보세요.
  • LINE 애플리케이션을 통해 화면에 표시된 본인 확인 코드를 입력한다.

  • 처음 로그인할 때 B2C 측면의 화면으로 이동하여 사용자 정보의 입력 화면이 됩니다.
  • 사용자 이름은 LINE의 사용자 이름입니다.

  • Create 버튼을 누르면 인증 완료!영패는 이미 이렇게 발송되었다.
  • 총결산
    OpenID Connect를 이용해 LINE 계정으로 Azure ADB2C에 로그인하는 방법을 소개했다.
    또한 B2C 측에서 유니버설 OpenID Connect 설정을 진행했기 때문에 OpenID Connect를 지원하는 다른 외부 ID 공급자도 같은 방법으로 합작할 수 있다.

    좋은 웹페이지 즐겨찾기