2017-09-24 13 views
1

내가 로그인 할 auth0와 emberjs을 사용하고 있습니다. 은 일반적으로 내가 사용자 이름과 암호를 입력하고 내가 지금 등auth0 클라이언트에서 api의 유효한 토큰을 얻는 방법은 무엇입니까?

를 API로 보내 유효한 토큰을 얻을, 나는 API에 대한 몇 가지 테스트를 작성하고 싶은 나는 항상 필요 유효한 토큰 내 토큰은 하루 만에 만료됩니다. 테스트를 실행하려면 항상 수동으로 토큰 샘플을 변경해야합니다.

그래서 어떻게 든 API에서 토큰을 얻고 싶습니까? 가능하고 어떻게?

답변

2

아주 좋은 질문입니다. 테스트를 위해이 작업을 수행하는 쉬운 방법은 Client Credentials Grant Flow을 사용하는 것입니다. 테스트 내에서 액세스 토큰을 원하므로이 값을 시스템에서 시스템 플로우로 처리 할 수 ​​있습니다.

다음은 테스트에서 이것을 수행하는 예제입니다. to receive an Auth0 Management API v2 access token. 그리고 corresponding test too. 그리고 여기에 그 액세스 토큰 조회 as part of a separate test을 사용합니다. 그러나 Auth0 특정 관리 API 또는 Auth0 대시 보드 (API 아래)에서 비대화 형 클라이언트와 자신의 청중을 사용하여 정의한 API와 동일한 원칙이 적용됩니다.

{ 
    method: 'POST', 
    url: 'https://{TENANT}.auth0.com/oauth/token', 
    headers: { 'content-type': 'application/json' }, 
    body: '{ 
     "client_id":"{CLIENT ID}", 
     "client_secret":"{CLIENT SECRET}, 
     "audience":"https://{tenant}.auth0.com/api/v2/", 
     "grant_type":"client_credentials" 
    }' 
}; 

당신은 oauth/token 엔드 포인트를 호출하고 (즉, API에 대한) 된 ClientID, clientSecret, 관객을 통과하고 부여 형 (client_credentials) : 다음과 같이

호출의 "모양"

꽤 많이 . emberjs/php로이 작업을 수행하는 경우 매우 유사합니다. Auth0 대시 보드에서 새 클라이언트를 만들고 Non Interactive 클라이언트 유형을 선택한 다음 Quick Start을 누르면 해당 설정이 안내됩니다 (필요한 경우). 아래 스크린 샷을 참조하십시오. 혹시 probs가 있으면 의견을 남길 수 있습니다.

enter image description here