관리 API 키에서 Kontent 프로젝트 ID 가져오기
Management API을 사용하여 Kontent 도구를 개발하고 여전히 프로젝트 ID와 관리 API 키를 모두 요구합니까? 다음 줄은 UX를 개선하고 코드를 정리하는 데 도움이 됩니다.
관리 API 키는 페이로드(서명이 있는 헤더 사이)를 포함하는 JWT token일 뿐입니다. 따라서 JWT.io을 사용하여 디코딩할 수 있으며 페이로드로 다음을 볼 수 있습니다.
{
"jti": "b6a9ee86bfdc41c89f20048c3baaba04",
"iat": "1612535158",
"exp": "1958135158",
"project_id": "06c2b8951700013e5f3160283aff1100",
"ver": "2.1.0",
"uid": "usr_0vMrpCH2TkOK5oK3y3bKNS",
"aud": "manage.kenticocloud.com"
}
project_id
는 한 번의 수정으로 프로젝트를 식별하는 데 사용할 수 있습니다. GUID format 을 준수하려면 적절한 위치에 대시를 추가해야 합니다.이 모든 작업을 수행하려면 코드가 그렇게 보이거나 (또는 다른 언어 대안) jwt-decode 과 같은 라이브러리를 사용하면 됩니다. 그러나 그들이 무엇을 하는지 아는 것은 항상 좋은 일입니다.
const managementApiKey = "ew0KICAiYWxnIjogIkhTMjU2IiwNCiAgInR5cCI6ICJKV1QiDQp9.ew0KICAianRpIjogImI2YTllZTg2YmZkYzQxYzg5ZjIwMDQ4YzNiYWFiYTA0IiwNCiAgImlhdCI6ICIxNjEyNTM1MTU4IiwNCiAgImV4cCI6ICIxOTU4MTM1MTU4IiwNCiAgInByb2plY3RfaWQiOiAiMDZjMmI4OTUxNzAwMDEzZTVmMzE2MDI4M2FmZjExMDAiLA0KICAidmVyIjogIjIuMS4wIiwNCiAgInVpZCI6ICJ1c3JfMHZNcnBDSDJUa09LNW9LM3kzYktOUyIsDQogICJhdWQiOiAibWFuYWdlLmtlbnRpY29jbG91ZC5jb20iDQp9.aEqGajw7e9m13lnID0z9PBCL0MytqYlvoYg_rwPfEJo";
const payloadBase64 = managementApiKey.split('.')[1];
const payloadBase64Cleared = payloadBase64.replace(/-/g, '+').replace(/_/g, '/');
const jsonPayload = decodeURIComponent(
atob(payloadBase64Cleared)
.split('')
.map((c) =>
('%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))
)
.join('')
);
const payloadObject = JSON.parse(jsonPayload);
const projectIdWithoutDashes = payloadObject.project_id;
const projectId =
`${projectIdWithoutDashes.substr(0, 8)}-\
${projectIdWithoutDashes.substr(8, 4)}-\
${projectIdWithoutDashes.substr(12,4 )}-\
${projectIdWithoutDashes.substr(16, 4)}-\
${projectIdWithoutDashes.substr(20)}`
console.log(projectId);
If you want to play with it - check out this Codepen.
...그리고 당연히 공개된 API 키를 무효화했습니다 🤞
Reference
이 문제에 관하여(관리 API 키에서 Kontent 프로젝트 ID 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kontent_ai/get-kontent-project-id-from-the-management-api-key-71a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)