다음을 통해 공유


OpenID Connect 공급자를 사용하여 로그인하도록 App Service 또는 Azure Functions 앱 구성

이 문서에서는 OIDC(OpenID Connect) 사양을 준수하는 사용자 지정 인증 공급자를 사용하도록 Azure App Service 또는 Azure Functions를 구성하는 방법을 보여 줍니다. OIDC는 많은 ID 공급자(ID 공급자)가 사용하는 업계 표준입니다. OIDC ID 공급자를 사용하기 위해 앱 사양의 세부 정보를 이해할 필요가 없습니다.

하나 이상의 OIDC 공급자를 사용하도록 앱을 구성할 수 있습니다. 각 공급자는 구성에 고유한 영숫자 이름이 있어야 합니다. 하나의 공급자만 기본 리디렉션 대상이 될 수 있습니다.

ID 공급자에 애플리케이션 등록

공급자는 귀하가 귀하의 애플리케이션 세부 정보를 등록하도록 요구합니다. 다음 단계 중 하나는 폼 <app-url>/.auth/login/<provider-name>/callback이 있는 리디렉션 URI를 지정하는 것입니다. 각 ID 공급자는 단계를 완료하는 방법에 대한 추가 지침을 제공해야 합니다. <provider-name> 값은 Azure 환경에서 OpenID 공급자 이름에 대해 지정하는 친숙한 이름을 나타냅니다.

참고 항목

일부 공급자는 구성 및 해당 공급자가 제공하는 값을 사용하기 위한 추가 단계가 필요할 수 있습니다. 예를 들어 Apple은 OIDC 클라이언트 암호로 사용되지 않는 프라이빗 키를 제공합니다. 이를 사용하여 JWT(JSON 웹 토큰)를 만듭니다. 웹 토큰을 앱 구성에서 제공하는 비밀로 사용합니다. 자세한 내용은 클라이언트 암호 만들기를 참조하세요.

애플리케이션에 대한 클라이언트 ID클라이언트 비밀을 수집해야 합니다. 클라이언트 암호는 중요한 보안 자격 증명입니다. 이 비밀을 누구와도 공유하거나 클라이언트 애플리케이션에 배포하지 마세요.

참고 항목

권한 부여 코드 흐름을 사용하여 대화형 로그인 흐름을 통해 사용자에 대한 액세스 토큰을 획득하려는 경우에만 구성에 클라이언트 비밀을 제공해야 합니다. 그렇지 않은 경우 비밀을 수집할 필요가 없습니다.

공급자에 대한 OIDC 메타데이터도 필요합니다. 이 메타데이터는 종종 구성 메타데이터 문서에 노출되며, 여기서 이는 공급자의 발급자 URL에 /.well-known/openid-configuration가 접미사로 붙어있는 형태입니다. 이 구성 URL을 가져옵니다.

구성 메타데이터 문서를 사용할 수 없는 경우 다음 값을 별도로 가져옵니다.

애플리케이션에 공급자 정보 추가

OpenID Connect 공급자에 대한 공급자 정보를 추가하려면 다음 단계를 수행합니다.

  1. Azure Portal에 로그인하고 앱으로 이동합니다.

  2. 왼쪽 메뉴에서 설정>인증을 선택합니다. 그런 다음 , ID 공급자 추가를 선택합니다.

  3. ID 공급자의 경우 OpenID Connect를 선택합니다.

  4. OpenID 공급자 이름의 경우 이전에 선택한 고유한 영숫자 이름을 제공합니다.

  5. ID 공급자의 메타데이터 문서에 대한 URL이 있는 경우 메타데이터 URL에 해당 값을 제공합니다.

    그렇지 않으면 엔드포인트 제공을 별도로 선택합니다. ID 공급자의 각 URL을 적절한 필드에 배치합니다.

  6. 클라이언트 ID에 대해 이전에 수집한 값을 제공합니다. 클라이언트 암호도 수집된 경우 구성 프로세스의 일부로 제공합니다.

  7. 클라이언트 비밀에 대한 애플리케이션 설정 이름을 지정합니다. 클라이언트 암호는 비밀이 안전한 방식으로 저장되도록 앱 설정으로 저장됩니다. Azure Key Vault에서 비밀을 관리하려면 나중에 Azure Key Vault 참조를 사용하도록 해당 설정을 업데이트합니다.

  8. 추가를 선택하여 ID 공급자 설정을 완료합니다.

참고 항목

이 이름을 기반으로 앱 설정이 만들어지므로 OpenID 공급자 이름에 하이픈(-)을 포함할 수 없습니다. 앱 설정은 하이픈을 지원하지 않습니다. 대신 밑줄(_)을 사용합니다.

또한 토큰의 범위가 aud 위에서 구성한 클라이언트 ID 와 동일해야 합니다. 현재 이 공급자에 대해 허용되는 대상 그룹을 구성할 수 없습니다.

Azure에는 openid, profile, 및 email 범위가 필요합니다. 최소한 이러한 범위를 사용하여 ID 공급자에서 앱 등록을 구성해야 합니다.