스트리밍은 대부분의 브라우저와
Developer 앱에서 사용할 수 있습니다.
-
직장 및 학교에서 Apple로 로그인 살펴보기
조직 설정에서 관리되는 Apple ID에 Apple로 로그인을 지원하는 방법을 알아보세요. 직장 및 학교에서의 Apple로 로그인에 대해 소개하고, 교육 앱에서 REST API의 강력한 기능을 활용하여 학생 및 수업 정보 가져오기 과정을 간편하게 진행할 수 있는 방법을 알아보겠습니다. 또한 Apple Business Manager 및 Apple School Manager 내에서 이러한 기능을 위해 Access Management 제어를 구성하는 방법을 공유합니다. 이 세션을 최대한 활용하려면 Apple로 로그인 및 REST API에 대해 숙지하시는 것이 좋습니다.
리소스
- Configuring your webpage for Sign in with Apple
- Implementing User Authentication with Sign in with Apple
- Roster API
관련 비디오
WWDC22
WWDC20
-
다운로드
♪ 감미로운 연주중심의 힙합음악 ♪ ♪ 안녕하세요 제 이름은 Ashwath입니다 교육팀을 이끄는 엔지니어입니다 오늘 직장 및 학교에서의 Apple 로그인 문제에 대해 여러분과 이야기하게 된 것을 매우 기쁘게 생각합니다 이번 프레젠테이션에서는 올 가을에 선보일 주요 기능에 대해 설명하겠습니다 먼저 직장과 학교에서 Apple에 로그인하는 방법과 작동 방식을 설명하겠습니다 그런 다음 Roster API와 활용 방법에 대해 말씀드리겠습니다 마지막으로, 액세스 관리에 대해 이야기하겠습니다 액세스 관리에서는 IT 관리자가 조직을 대신하여 직장과 학교에서 Apple 로그인 및 Roster API에 대한 액세스를 관리할 수 있는 방법에 대해 설명합니다 우선 여러분이 이미 알고 있을수도 있지만 이 세션에서 검토해야 할 중요한 두 가지 개념을 논의하겠습니다 첫 번째 개념은 Apple로 로그인입니다 Apple로 로그인은 사용자가 Apple ID로 앱에 로그인할 수 있는 빠르고 쉬운 방법입니다 사용자는 간단한 클릭으로 앱 계정을 생성할 수 있습니다 두 번째 개념은 관리형 Apple ID입니다 Apple로 ID와 마찬가지로 관리형 Apple ID는 장치의 개인화 설정에 사용됩니다 또한 Apple 앱 및 서비스에 액세스하는 데도 사용됩니다 Apple ID와 다른 점은 관리형 Apple ID가 조직에서 소유하고 Apple School Manager 또는 Apple Business Manager를 통해 관리된다는 것입니다 상기 정의를 고려하면 Apple로 로그인이 이제 관리형 Apple ID를 지원하도록 확장되었습니다 이제 여러분은 관리형 Apple ID의 관리 기능을 사용하여 Apple에서 빠르고 쉽게 로그인할 수 있습니다 직장과 학교에서 Apple에 로그인한 사용자 경험을 소개하는 예를 살펴보겠습니다 이것은 Slack 로그인 화면입니다 Apple에 로그인하려면 Continue with Apple을 누르면 됩니다 Apple ID를 사용하면 Apple로 로그인을 위한 이 시작 화면이 나타납니다 반면에 관리형 Apple ID를 사용하는 경우 직장과 학교에서 Apple에 로그인하기 위한 다음 시작 화면이 나타납니다 여러분은 시작 화면의 차이를 알아보실 수 있습니다 우리가 말하는, 앱이 액세스 제어를 쉽게 제공한다는 것은 무엇을 의미할까요? 예를 들어 보겠습니다 Apple에 로그인할 때 개인 Apple ID를사용하면 사용자가 자신의 이름을 편집하고 이메일을 공유하거나 숨길 수 있는 계정 생성 화면이 나타납니다 그러나 조직의 경우 앱에 대해 누가 로그인하고 사용자에게 어느 수준의 액세스 권한을 제공하는지 이해하는 것이 중요합니다 이 화면에 표시된 예는 사용자가 직장에서 Slack에 로그인하는 것을 보여줍니다 이 직원이 어느 Slack 채널을 사용할 수 있는 지를 알려면 Slack은 로그인하는 사용자를 알아야 합니다 따라서 이것은 직장과 학교에서 Apple로 로그인을 사용할 때 Slack이 앱과 공유한 이름과 이메일을 사용하여 액세스 제어를 제공하는 예입니다 사용자는 이것을 보고 무엇을 알수 있을까요? 사용자는 직장과 학교에서 Apple로 로그인을 사용할 때 이름 및 이메일 필드에 항상 액세스할 수 있다는 것을 알 수 있습니다 클라이언트 사이드 앱을 개발하는 개발자인 경우 인증 컨트롤러를 보여주는 다음 몇 가지 예제 코드를 살펴보십시오 인증이 성공하면 강조 표시된 문은 앱이 수신한 전체 이름과 이메일을 나타냅니다 이때 인증 요청에 전체 이름 및 이메일이 포함된 것으로 가정합니다 웹에서 Apple로 로그인을 지원하는 개발자인 경우 로그인 방법을 사용하여 인증 프로세스를 시작하는 다음 몇 가지 예제 코드를 살펴보십시오 인증이 성공하면 서버는 응답을 데이터 개체로 반환합니다 그 데이터 객체는 다음과 같습니다 강조 표시된 필드에는 로그인한 사용자의 이메일과 전체 이름이 포함됩니다 여기서 중요한 몇 가지 사항을 보겠습니다 이 릴리스에서는 직장과 학교에서 Apple로 로그인에 장치에 로그인한 기본 관리형 Apple ID가 사용됩니다 보여드린 예제 화면은 장치의 로그인 흐름에 대한 화면이지만 웹 흐름도 지원합니다 일부 계정에는 이메일 주소가 제공되지 않을 수도 있습니다 예를 들어, 학교에서는 어린 학생들에게 이메일 주소를 할당하지 않을 수도 있습니다 이메일 주소가 없는 이 시나리오에서 계정 생성 화면이 어떻게 표시되는지 보겠습니다 사용자인 Fatima Silva는 이메일 주소가 없으므로 계정 생성 화면에 전체 이름만 표시됩니다 Apple로 로그인을 이미 구현한 경우 관리형 Apple ID에 대한 지원을 추가하는 데 아무런 조치도 필요하지 않습니다 아직 지원을 구현하지 않으셨다면 WWDC 2020의 ”Get the most out of Sign in with Apple" 세션과 올해부터 시작하는 ”Apple로 로그인 경험 개선" 세션을 살펴보십시오 이것이 바로 직장과 학교에서 빠르고 쉽게 로그인할 수 있는 환경을 관리형 Apple ID에 제공하는 Apple로 로그인입니다 이제 Roster API에 대해 구체적으로 보겠습니다 구체적인 내용에 들어가기 전에 다음 시나리오를 생각해 봅시다 여러분은 교육 분야의 개발자입니다 여러분이 개발한 앱이 교육구에서 사용되고 있습니다 앱은 Apple로 로그인 지원 기능을 구현했습니다 좋습니다! 학생, 교사 및 직원은 자신의 관리형 Apple ID를 사용하여 앱에 로그인할 수 있습니다 이 시나리오에서 교사들은 여러분의 앱을 사용하여 학생들과 과제와 발표를 공유할 수 있습니다 IT 관리자는 이 기능을 지원하기 위해 학년이 시작되기 전에 학생, 교사 및 수업을 앱에 입력해야 합니다 수백 또는 수천 명의 학생들이 있는 학교에서 이러한 기록을 수동으로 입력하는 것은 시간이 많이 걸리고 지루한 과정이 될 것입니다 우리는 이 문제를 해결하기 위해 Roster API를 만들었습니다 Roster API는 Apple School Manager의 사용자 및 클래스와 같은 리소스에 대한 프로그래밍 방식의 액세스를 제공합니다 이를 통해 IT 관리자는 이런 정보를 앱으로 가져오는 프로세스를 자동화할 수 있습니다 이러한 리소스는 REST 엔드포인트의 형태로 정의됩니다 이 데이터는 IT 관리자가 OAuth 2.0 인증을 통해 권한을 부여한 후 앱을 통해 액세스할 수 있습니다 Apple School Manager의 Administrator 및 Site Manager 계정은 데이터에 액세스할 수 있는 앱을 관리할 수 있습니다 이 릴리스의 일부로, 우리는 앱을 통해 조직 데이터에 대한 액세스를 요청할 수 있는 표준화된 방법을 만들었습니다 이를 조직 데이터 공유라고 정의합니다 우리는 개발자가 쉽게 채택할 수 있도록 UI 디자인 패턴과 기술 선택에서 업계 표준을 따르기를 원했습니다 따라서 OAuth 2.0을 사용한 인증 흐름을 만들었습니다 여기에는 조직 데이터 공유에 대한 범위 사용 및 IT 관리자의 동의 요청이 포함됩니다 이것이 그 모습입니다 동의 화면은 조직의 데이터에 대한 액세스를 요청하는 앱과 해당 앱이 액세스를 요청하는 데이터에 대한 정보를 제공합니다 자세히 살펴보면 동의 화면에는 Apple School Manager에 의해 사용할 수 있는 데이터에 대한 액세스를 요청하는 앱을 나타내는 요청자에 대한 정보가 포함되어 있습니다 이 경우 요청 앱은 Quizzler이며 범위는 앱이 액세스할 수 있는 데이터를 나타내는 범위입니다 이 경우 IT 관리자가 동의하면 Quizzler는 해당 조직의 모든 사용자 및 클래스 정보에 액세스할 수 있습니다 여러분의 구현 여정은 어떤 모습일까요? 첫 번째 단계는 개발자 포털에 등록하는 것으로 여기에는 범위 요청이 포함됩니다 다음 단계는 OAuth 2.0 인증 흐름을 통해 IT 관리자에게 앱에서 데이터 공유에 대한 동의를 요청하는 것입니다 마지막 단계로 앱은 Roster API 엔드포인트를 쿼리하여 데이터를 가져옵니다 상기 각 단계를 구체적으로 살펴보겠습니다 범위를 요청하려면 개발자 포털을 방문하십시오 인증서, 식별자 및 프로필 페이지에서 계정 및 조직 데이터 공유 아래의 구성을 클릭하십시오 다음 단계에서 “구성 설정"을 클릭하십시오 드롭다운에서 기본 앱 ID를 선택하고 계속을 누르십시오 추가 구성 상세 내역 페이지의 조직 데이터 공유 범위에서 원하는 범위를 선택하십시오 현재 사용자 액세스와 클래스 액세스의 두 가지 범위를 제공합니다 앱에 대한 반환 URL이 구성되어 있는지 확인하십시오 OAuth 2.0 인증 흐름에서 반환 URL이 사용되기 때문에 이 단계가 중요합니다 계속을 누르십시오 마지막으로 구성을 확인하십시오 이제 다음 단계를 진행하기 위한 준비가 되었습니다 구현 과정의 두 번째 단계는 OAuth 2.0 인증 흐름을 통해 액세스 토큰을 얻는 것입니다 이에 대해 자세히 살펴보겠습니다 IT 관리자는 먼저 사용자 앱에 로그인합니다 그런 다음 IT 관리자는 앱과 상호 작용하여 인증 흐름을 시작합니다 예를 들어, “Apple School Manager에 연결" 버튼을 클릭합니다 그러면 OAuth 2.0 표준에 따라 일련의 이벤트가 시작됩니다 첫 번째 단계는 인증된 엔드포인트에 대한 GET API 호출을 실행하는 것입니다 이 요청의 세부 사항을 살펴보겠습니다 요청에는 몇 가지 쿼리 파라미터가 사용됩니다 이 파라미터는 client_id, redirect_uri, state, response_type, 및 scope입니다 응답은 Apple OAuth 동의 화면으로 리디렉션되어 IT 관리자의 액세스를 요청하게 됩니다 이 다이어그램에서는 IT 관리자가 자신의 관리형 Apple ID로 인증했다고 가정합니다 인증하지 않은 경우 먼저 인증하라는 메시지가 표시됩니다 IT 관리자에게 앱과 조직 데이터를 공유할 것을 확인해야 하는 동의 화면이 표시됩니다 이전에 보았던 동의 화면과 동일한 화면입니다 다시 한 번 말씀드리면 이런 모양을 가집니다 관리자가 허용을 클릭하면 개발자 포털에 등록한 반환 URL에 포함된 인증 코드가 앱에 제공됩니다 마지막 단계에는 앱의 액세스 토큰을 검색하기 위한 토큰 엔드포인트에 대한 POST 요청이 포함됩니다 이 요청이 어떤 형태를 띠는지 보겠습니다 요청 본문은 귀환 URL에 수신된 인증 코드를 포함한 표준 OAuth 파라미터로 구성됩니다 응답에는 액세스 토큰 및 유효기간, 만료 시 새 액세스 토큰을 만드는 데 사용되는 리프래시 토큰이 포함됩니다 리프래시 토큰을 사용하여 새 액세스 토큰을 생성하는 데 필요한 세부 정보를 살펴보겠습니다 요청 본문은 리프래시 토큰을 포함한 표준 OAuth 파라미터로 구성되며 응답에는 액세스 토큰과 해당 만료 기간이 포함됩니다 OAuth 2.0 인증 흐름을 성공적으로 완료하면 앱에 액세스 토큰이 포함되며, 이 토큰을 사용하여 Roster API에서 사용자 및 클래스 정보를 가져올 수 있습니다 현재 릴리스의 일부로 앱에서 쿼리할 수 있는 5개의 엔드포인트를 소개하겠습니다 5가지 엔드포인트는 클래스 목록, 사용자 목록, 특정 클래스, 특정 사용자, 클래스 사용자 가져오기입니다 사용자 및 클래스를 가져오는 방법을 시연하는 간단한 흐름 예제를 살펴보겠습니다 앱 서버는 먼저 사용자 엔드포인트를 쿼리하여 학생, 교사 및 직원 목록을 검색할 수 있습니다 요청과 응답을 자세히 살펴보겠습니다 사용자 엔드포인트는 세 가지 쿼리 파라미터를 가집니다 pageToken 및 limit는 페이지 번호 파라미터이며 optional role 파라미터는 학생, 교사 또는 직원을 쿼리하는 파라미터입니다 요청하려면 인증 흐름에서 생성된 액세스 토큰을 포함한 인증 헤더가 있어야 합니다 응답은 사용자 목록이 있는 "users" 키, 다음 레코드 집합을 가져오는 데 사용되는 "nextPageToken" 키, 쿼리할 레코드가 더 있는지 여부를 나타내는 ”moreToFollow” 부울 키가 포함된 JSON 페이로드입니다 요청 예제를 살펴보겠습니다 여기서 API 호출은 응답의 학생 목록을 검색하며 최대 10명의 학생이 포함됩니다 이것은 첫 번째 API 요청이므로, pageToken 쿼리 파라미터가 지정되지 않았습니다 응답에는 givenName, familyName 등의 표준 사용자 정보가 포함되지만, 사용자에 대해 안정적인 고유 식별자에 주목해 주시기 바랍니다 이것은 사용자가 Apple에 로그인할 때 앱에서 받는 식별자와 동일합니다 사용자의 이메일 주소와 조직 내 사용자의 역할도 포함됩니다 moreToFollow 키가 true로 설정되었으므로 다음 학생 집합을 가져오기 위한 쿼리 파라미터로 nextPageToken를 후속 API 요청에 사용해야 합니다 사용자 엔드포인트를 쿼리한 후 앱 서버는 해당 클래스 엔드포인트를 쿼리할 수 있으며 그러면 해당 교육구에 대한 클래스 목록과 해당 클래스에 연결된 학생과 교사 간의 관계가 표시됩니다 요청과 응답을 자세히 살펴보겠습니다 클라스 가져오기 요청의 일부로 요청은 두 가지 쿼리 파라미터인 pageToken과 limit를 사용합니다 이 파라미터에 대해서는 앞서 살펴보았습니다 헤더는 사용자를 쿼리할 때와 동일합니다 응답은 "classes" 키가 클래스 목록을 보유하는 JSON 페이로드입니다 요청의 예를 살펴보겠습니다 이 요청은 응답에 포함할 클래스 목록을 최대 200개까지 검색합니다 API 요청에도 pageToken이 포함되어 있습니다 다시 말하면 지금 모든 클래스를 가져오고 있습니다 응답에는 이름, 클래스 식별자 등 표준 클래스 정보가 포함되어 있지만, 여러분이 클래스에 속하는 교사 ID와 학생 ID 목록에 관심을 가지게 하고 싶습니다 이것이 바로 Roster API였습니다 이제 앱은 이러한 엔드포인트를 사용하여 Apple School Manager에서 사용자와 클래스를 프로그래밍 방식으로 쿼리할 수 있습니다 마지막으로 액세스 관리에 대해 말씀드리고자 합니다 직장과 학교에서 조직 데이터 공유 및 Apple로 로그인 기능을 사용하는 조직에 관리 기능을 제공하는 것이 중요합니다 이것이 무엇을 의미하는지 좀 더 자세히 설명하겠습니다 Apple로 로그인을 사용할 때 사용자는 자신의 계정을 관리하게 되며 로그인할 앱을 결정하는 것은 전적으로 사용자에게 달려 있습니다 그러나 직장과 학교에서 Apple에 로그인하는 경우 조직의 IT 관리자가는 해당 조직의 모든 사용자를 대신하여 액세스를 중심적으로 관리합니다 이것은 IT 관리자가 조직 데이터의 안전과 보안을 담보할 책임을 가지고 있기 때문입니다 그러므로 그들은 어느 앱 사용자가 직장과 학교에서 Apple로 로그인을 사용할 수 있는지 그리고 어느 앱이 조직 데이터 공유를 허용하는 지를 관리할 권한이 있습니다 이러한 액세스 관리 기능은 Apple School Manager 및 Apple Business Manager에서 설정할 수 있습니다 직장과 학교에서 Apple로 로그인을 위한 두 가지 모드를 제공합니다 첫 번째 모드는 “모든 앱 허용"입니다 이 모드가 어떤 형태를 띠는지 보겠습니다 여기서 IT 관리자는 Apple Business Manager에 로그인합니다 사이드바에서 액세스 관리를 선택하고 Apple로 로그인을 선택하면 두 가지 모드가 표시됩니다 “모든 앱 허용” 모드를 사용하면 조직의 모든 사용자가 Apple로 로그인을 지원하는 모든 앱에 로그인할 수 있습니다 두 번째 모드는 “특정 앱만 허용"입니다 이 모드가 어떤 형태를 띠는지 보겠습니다 IT 관리자는 “특정 앱만 허용” 모드를 사용하여 Apple로 로그인을 지원하는 앱을 검색하여 목록에 추가할 수 있습니다 사용자는 목록에 추가된 앱에서만 Apple로 로그인을 사용할 수 있습니다 사용자가 목록에 없는 앱에 로그인하려고 하면 오류 메시지가 나타납니다 중요한 것은 이 기능이 Apple School Manager, Apple Business Manager 및 Business Essentials 고객에게도 동일하다는 것입니다 직장과 학교에서 Apple에 로그인하는 것과 마찬가지로 조직 데이터 공유에도 동일한 두 가지 모드가 있습니다 이에 대해 살펴보겠습니다 IT 관리자는 “특정 앱만 허용” 모드를 사용하여 목록에 추가할 지원되는 앱을 검색할 수 있습니다 이러한 앱들은 Roster API를 사용하여 사용자 및 클래스 정보에 액세스할 수 있습니다 동의 화면 외에도, 이것은 IT 관리자가 조직 데이터에 액세스할 수 있는 앱을 관리할 수 있는 두 번째 제어 계층입니다 직장과 학교에서 Apple에 로그인할 수 있는 기능을 포함한 릴리스로 이제 모든 환경의 사용자가 Apple ID 또는 관리형 Apple ID를 사용하여 앱에 로그인할 수 있습니다 Apple에서 로그인을 아직 구현하지 않은 경우 여러분이 구현해 주십시오 또한 교육 분야에 있다면 Roster API를 채택할 것을 적극 권장하고 싶습니다 Roster API에 대한 지원을 구현하면 IT 관리자, 직원, 교사 및 학생들에게 원활한 온보딩 환경을 제공할 수 있습니다 언제나 그렇듯이, 여러분의 의견을 듣고 싶습니다 그러니 피드백이 있으면 제출해 주십시오 자세한 내용을 알고 싶으시면 2020년부터 시작하는 ”Get the most out of Sign in with Apple" 세션과 올해 “Apple로 로그인 경험 개선” 세션을 보실 것을 적극 추천합니다 시청해 주셔서 정말 감사드리며 여러분이 올해 WWDC를 즐기기를 바랍니다 ♪
-
-
찾고 계신 콘텐츠가 있나요? 위에 주제를 입력하고 원하는 내용을 바로 검색해 보세요.
쿼리를 제출하는 중에 오류가 발생했습니다. 인터넷 연결을 확인하고 다시 시도해 주세요.