Amazon Cognito User Pools를 사용하여 Zendesk 도움말 센터에 싱글 사인온
개요
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에서 측을 확인하면 자동으로 호리케@아기타 쿠베.
Reference
이 문제에 관하여(Amazon Cognito User Pools를 사용하여 Zendesk 도움말 센터에 싱글 사인온), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/horike37/items/6565003446bf24c6e568텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)