Amazon Cognito User Pools를 사용하여 Zendesk 도움말 센터에 싱글 사인온

5631 단어 cognitozendeskAWS

개요



Amazon Cognito User Pools에서 인증 권한을 부여하는 애플리케이션에서 Zendesk로 SSO를 수행하는 경우를 생각해 보십시오.
자신의 웹 서비스용 대시보드에서 지원이나 헬프 데스크는 Zendesk에 던져 버리고 싶은 경우는 상당히 있다고 생각합니다만, 그러한 유스 케이스에 사용할 수 있다고 생각합니다.

구성





구성은 API Gateway + Lambda 구성에서 생각합니다.
첫째, 이전 API 인증은 API Gateway의 Custom Authorizer 기능을 사용합니다. 자세한 내용은 Amazon API Gateway의 Custom Authorizer를 사용하여 User Pools 사용자로 API 인증에서 찾을 수 있습니다.

API 인증을 거쳐 인증을 받으면 SSO 용 Lambda 함수로 Zendesk에 SSO를 실시합니다.

Zendesk 설정



JWT (JSON 웹 토큰)를 사용하여 싱글 사인온 설정
이번에는 여기를 사용하여 SSO를 구현합니다.


Zendesk의 Companne에서 최종 사용자에 대한 SSO를 활성화합니다. 이 때 공유 비밀이 표시되므로 메모하십시오. 공유 비밀은 반드시 외부로 새지 않도록 조심하십시오.

SSO Lambda 기능


'use strict';
var jwt = require('jwt-simple');
var uuid = require('node-uuid');

var subdomain = '<Zendeskのサブドメイン>';
var shared_key = '<Zendeskの共有シークレット>';

module.exports.handler = function(event, context) {
  var payload = {
    iat: (new Date().getTime() / 1000),
    jti: uuid.v4(),
    name: event.email,
    email: event.email
  };
  var token = jwt.encode(payload, shared_key);
  var sso_endpoint = 'https://' + subdomain + '.zendesk.com/access/jwt?jwt=' + token;
  context.succeed(sso_endpoint);
};


SSO에 대한 엔드포인트를 리턴합니다. 나중에 클라이언트 측에서 location.href = JSON.parse(sso_endpoint); 라든지 해주면 Zendesk에 싱글 사인온 실시됩니다.

실천



1. User Pools를 사용하여 애플리케이션에 로그인합니다.





2. 호리케 @아기타 쿠베. jp로 로그인을 할 수 있었습니다. 그리고 지원 버튼을 클릭합니다.





3. SSO가 실행되고 Zendesk로 리디렉션됩니다. Zendesk에서 측을 확인하면 자동으로 호리케@아기타 쿠베.



좋은 웹페이지 즐겨찾기