Beacon 웹 스토어와 통합

이 항목에서는 OIDC(Open ID Connect)를 통한 Beacon 웹 스토어 통합에 대해 다룹니다.

OIDC 및 자격을 통한 인증

인증

Beacon은 인증을 위해 다음 OAuth 2.0 흐름을 활용합니다.

  • PKCE를 사용한 인증 코드: iOS, Android 및 웹
    PKCE를 통한 승인
    PKCE를 통한 승인
  • 장치 흐름 (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 토큰의 주체 값에 해당합니다.

자격 웹후크에 대한 샘플 Postman 호출:

샘플 우체부 통화
샘플 우체부 통화