OIDC 및 자격을 통한 인증
인증
Beacon은 인증을 위해 다음 OAuth 2.0 흐름을 활용합니다.
- PKCE를 사용한 인증 코드: iOS, Android 및 웹
- 장치 흐름 (Oauth 2.0 확장): 커넥티드 및 스마트 TV
Beacon에서 사용할 수 있을 것으로 예상되는 3개의 토큰이 있습니다.
- 액세스 토큰: 사용자가 인증할 수 있고 Beacon에 대한 액세스 권한을 부여받아야 하는지 확인합니다 ( JWT 형식이며 iss와 sub를 포함해야함).
- 새로 고침 토큰: 사용자를 대신하여 새 액세스 토큰을 자동으로 얻을 수 있는 메커니즘을 제공하여 액세스 토큰이 만료된 후에도 사용자가 로그인 상태를 유지할 수 있도록 합니다(사용자에게 액세스가 허용되는 한). 이는 TV에서 특히 중요합니다.
- ID 토큰: 사용자에 대한 정보를 얻는 방법을 표준화합니다.
다음 보조금 유형이 지원되어야 합니다.
-
authorization_code
-
refresh_token
-
urn:ietf:params:oauth:grant-type:device_code
다음 인증 공급자 끝점을 Beacon에서 구성해야 합니다(고객은 우리가 구성할 수 있도록 이를 제공해야 합니다. OpenID Connect 검색을 사용할 수 있는 경우 이를 검색할 수 있습니다).
- 액세스 토큰(JWT)
- 새로고침 토큰(JWT)
- 사용자 정보
- 취소 토큰(JWT)
- 승인
- 페어링 코드
- JWKS
- 로그 아웃
- OpenID Connect Discovery (/.well-known/openid-configuration) - 시스템 구성에 사용
Beacon CMS에서 구성된 항목의 예
권한
Beacon에 사용자 자격에 대해 알리는 측면에서 Beacon은 다음 API를 제공합니다. https://beacon.brightcove.com/{instance}/webhook/beacon
(Brightcove에서 제공하는 API 키)
페이로드는 JSON입니다.
[
{
"package_name": "string", // Commerce package for SVOD or SKU for TVOD purchases - required
"external_user_id": "string", // User identifier (username or email depending on configuration of users)- required
"transaction_id": "string", // Unique transaction id for purchase - required for subscriptions (this will be used in renewal)
"start_date": "string", // Start date for entitlements
"end_date": "string", // End date for entitlements (applicable if a rent or a subscription)
"trial_end_date": "string", // End date for a trial if applicable
"effective_cancellation_date": "string", // Date by when cancellation is effective (for example, end of current subscription period)
"notification_type": "new", // One of: new, renew, cancellation, buy or rent - required
“payment_gateway”: “beaconstore” // One of: “beaconstore”
}
]
외부 인증 시스템을 사용하는 경우 external_user_id는 Access 토큰의 주체 값에 해당합니다.