가입 및 로그인 사용자 흐름 만들기

완료됨

연습 - 등록 및 로그인 사용자 흐름 만들기

사용자 흐름은 고객이 따르는 일련의 가입 단계와 사용할 수 있는 로그인 방법(예: 이메일 및 비밀번호, 일회용 비밀번호 또는 Google 또는 Facebook의 소셜 계정)을 정의합니다. 일련의 기본 제공 사용자 특성 중에서 선택하거나 사용자 고유의 사용자 지정 특성을 추가하여 등록하는 동안 고객으로부터 정보를 수집할 수도 있습니다. 고객에게 제공하려는 애플리케이션이 여러 개인 경우 여러 사용자 흐름을 만들 수 있습니다.

참고 항목

사용자 흐름을 만들려면 최소한 외부 ID 사용자 흐름 관리자 디렉터리 역할이 필요합니다.

피드백이 있나요? 여러분의 개념 증명 프로젝트가 어떻게 진행되고 있는지 알려 주세요. 귀하의 의견을 듣고 싶습니다.

  1. 등록 및 로그인 사용자 흐름을 만들려면 Microsoft Entra 관리 센터에 로그인 하고 ID>외부 ID로 이동합니다.

    외부 ID라는 왼쪽 탐색 항목이 강조 표시된 Microsoft Entra 관리 센터 홈페이지의 스크린샷.

  2. 메뉴에서 사용자 흐름을 선택합니다. 그런 다음 새 사용자 흐름을 선택합니다.

    외부 ID라는 왼쪽 탐색 항목이 강조 표시된 Microsoft Entra 관리 센터 홈페이지의 스크린샷.

  3. 생성 페이지에서 사용자 흐름 이름(예: "SignUpSignIn")을 입력합니다. 그런 다음 ID 공급자에서 전자 메일 계정 확인란을 선택한 다음, 다음 옵션 중 하나를 선택합니다. 다른 ID 공급자를 구성한 경우 선택할 수 있습니다.

    새 사용자 흐름의 이름을 강조 표시하는 외부 ID 사용자 흐름의 만들기 블레이드 스크린샷

  4. 사용자 특성에서 등록 중에 사용자로부터 수집할 특성을 선택합니다. 자세히 표시를 선택하여 직함, 표시 이름 및 우편 번호 등을 비롯한 특성의 전체 목록에서 선택합니다. 그런 다음 만들기를 선택하여 사용자 흐름을 만듭니다.

    확인란의 선택 항목을 강조 표시하는 외부 ID 사용자 흐름의 만들기 블레이드와 등록 중에 수집할 특성으로 이름 표시, 추가 옵션에 대한 추가 링크 표시의 스크린샷 아래쪽에 만들기라는 단추가 강조 표시됩니다.

  5. 목록에서, 생성한 사용자 흐름을 선택합니다.

    눈금 목록에 SignUpSignIn이라는 사용자 흐름이 강조 표시된 외부 ID 사용자 흐름 블레이드의 스크린샷.

  6. 다음 단계에서는 애플리케이션을 방문하는 사용자의 등록 및 로그인 환경(사용자 흐름)을 활성화합니다. 왼쪽 메뉴의 사용에서 애플리케이션을 선택합니다.

    Applications라는 왼쪽 탐색 항목이 강조 표시된 SignUpSignIn이라는 사용자 흐름에 대한 사용자 흐름 개요 블레이드의 스크린샷

  7. 애플리케이션 추가 선택하기

    애플리케이션 추가라는 도구 모음의 단추를 강조 표시하는 SignUpSignIn이라는 사용자 흐름의 애플리케이션 블레이드 스크린샷

  8. 목록에서 애플리케이션을 선택합니다. 또는 검색 상자를 사용하여 애플리케이션을 찾은 다음, 선택합니다. 선택을 선택합니다.

    오른쪽에 열리고 선택한 Woodgrove 식료품을 강조 표시하는 애플리케이션 선택 창의 스크린샷. 아래쪽에서 선택이라는 단추가 강조 표시됩니다.

  9. 이제 애플리케이션이 사용자 흐름에 연결되었습니다. 사용자 흐름 실행을 선택하여 환경을 미리 봅니다.

    SignUpSignIn이라는 사용자 흐름과 연결된 애플리케이션으로 표시되는 Woodgrove Groceries라는 애플리케이션의 스크린샷.

  10. 오른쪽에 열리는 사용자 흐름 실행 창에서 올바른 애플리케이션회신 URL이 선택되었는지 확인합니다. 그런 다음 사용자 흐름 실행을 선택합니다.

    오른쪽에 열리는 실행 사용자 흐름 창의 스크린샷. 애플리케이션 및 회신 URL 필드가 강조 표시되어 있습니다. 하단에는 사용자 흐름 실행이라는 레이블이 지정된 단추도 강조 표시되어 있습니다.

  11. 모두 완료되었습니다! 성공적으로 사용자 흐름을 만들고 애플리케이션을 연결했습니다.

    언제든지 사용자 흐름 실행 단추를 사용하여 로그인 환경을 미리 볼 수 있습니다. 사용자가 식료품 웹 사이트에 로그인하면 사용자 흐름에 구성된 로그인 및 등록 환경이 표시됩니다.

    로그인 흐름 미리 보기의 스크린샷.

1. 사용자 흐름 만들기

사용자 흐름을 만들려면 요청 본문에 지정된 형식의 인증 이벤트 흐름 개체를 만듭니다.

POST https://graph.microsoft.com/beta/identity/authenticationEventsFlows
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/authenticationEventsFlows/$entity",
    "@odata.type": "#microsoft.graph.externalUsersSelfServiceSignUpEventsFlow",
    "displayName": "Default sign-up and sign-in",
    "description": "Woodgrove default sign-up and sign-in flow",
    "priority": 500,
    "conditions": {
        "applications": {
            "includeAllApplications": false
        }
    },
    "onInteractiveAuthFlowStart": {
        "@odata.type": "#microsoft.graph.onInteractiveAuthFlowStartExternalUsersSelfServiceSignUp",
        "isSignUpAllowed": true
    },
    "onAuthenticationMethodLoadStart": {
        "@odata.type": "#microsoft.graph.onAuthenticationMethodLoadStartExternalUsersSelfServiceSignUp",
        "identityProviders": [
            {
                "@odata.type": "#microsoft.graph.builtInIdentityProvider",
                "id": "EmailPassword-OAUTH"
            }
        ]
    },
    "onAttributeCollection": {
        "@odata.type": "#microsoft.graph.onAttributeCollectionExternalUsersSelfServiceSignUp",
        "accessPackages": [],
        "attributeCollectionPage": {
            "customStringsFileId": null,
            "views": [
                {
                    "title": null,
                    "description": null,
                    "inputs": [
                        {
                            "attribute": "email",
                            "label": "Email Address",
                            "inputType": "text",
                            "defaultValue": null,
                            "hidden": true,
                            "editable": false,
                            "writeToDirectory": true,
                            "required": true,
                            "validationRegEx": "^[a-zA-Z0-9.!#$%&’'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$",
                            "options": []
                        },
                        {
                            "attribute": "displayName",
                            "label": "Display Name",
                            "inputType": "text",
                            "defaultValue": null,
                            "hidden": false,
                            "editable": true,
                            "writeToDirectory": true,
                            "required": true,
                            "validationRegEx": "^.*",
                            "options": []
                        },
                        {
                            "attribute": "country",
                            "label": "Country/Region",
                            "inputType": "radioSingleSelect",
                            "defaultValue": null,
                            "hidden": false,
                            "editable": true,
                            "writeToDirectory": true,
                            "required": false,
                            "validationRegEx": "^.*",
                            "options": [
                                {
                                    "label": "Australia",
                                    "value": "au"
                                },
                                {
                                    "label": "Spain",
                                    "value": "es"
                                },
                                {
                                    "label": "United States",
                                    "value": "us"
                                }
                            ]
                        },
                        {
                            "attribute": "city",
                            "label": "City",
                            "inputType": "text",
                            "defaultValue": null,
                            "hidden": false,
                            "editable": true,
                            "writeToDirectory": true,
                            "required": false,
                            "validationRegEx": "^.*",
                            "options": []
                        }
                    ]
                }
            ]
        },
        "attributes": [
            {
                "id": "email"
            },
            {
                "id": "city"
            },
            {
                "id": "country"
            },
            {
                "id": "displayName"
            }
        ]
    },
    "onUserCreateStart": {
        "@odata.type": "#microsoft.graph.onUserCreateStartExternalUsersSelfServiceSignUp",
        "userTypeToCreate": "member",
        "accessPackages": []
    }
}
1.1 사용자 흐름 ID 복사

응답에서 사용자 흐름 id 값을 복사합니다. 예를 들면 다음과 같습니다.

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#identity/authenticationEventsFlows/$entity",
    "@odata.type": "#microsoft.graph.externalUsersSelfServiceSignUpEventsFlow",
    "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
    "displayName": "Default sign-up and sign-in1",
    "description": "Woodgrove default sign-up and sign-in flow",
    ...
}      

2. 사용자 흐름에 애플리케이션 추가

애플리케이션을 사용자 흐름에 추가하거나 연결하려면 다음 Microsoft Graph 요청을 사용합니다. {user-flow-ID}사용자 흐름 ID로 바꿉니다. {app-ID}애플리케이션 ID로 바꿉니다.

POST https://graph.microsoft.com/beta/identity/authenticationEventsFlows/{user-flow-ID}/conditions/applications/includeApplications
{
    "@odata.type": "#microsoft.graph.authenticationConditionApplication",
    "appId": "{app-ID}"
}