코어: 테스트용 Auth0 보호 API
소개하다.
오랫동안 우체부 사용자를 한 후에 저는 최근에 Insomnia Core으로 전환했습니다. 이것은 경량급이고 간단한 도구로 REST를 테스트할 수 있지만 GraphQL과 gRPC 서비스도 테스트할 수 있습니다.
불면증의 핵심 기능 중 하나는 AWS IAM, NTLM, OAuth 2.0을 포함한 다양한 인증 방법을 지원하는 것이다(기술적으로는 인증이 아니다)🙃 ). OAuth 2.0 및 다른 라이센스에 대한 지원으로 Auth0에서 보호되는 API를 쉽게 테스트할 수 있습니다.어디 보자.
고객 인증서
Auth0에서 매우 유행하는 기능은 OAuth 2.0
client_credentials
을 통해 기계가 기계에 대한 장면을 지원할 수 있는 권한을 부여하는 것이다.이 예에서는 Auth0에 API(일부 역할 영역을 선택할 수 있음)를 생성한 다음 시스템 간 응용 프로그램도 생성했습니다.그런 다음 내가 만든 API에 대해 응용 프로그램을 승인해야 합니다.
Postman과 마찬가지로 모든 설정, 비밀, URL 등을 정의할 수 있는 불면증 환경을 만들 수도 있습니다.변수로 삼다.Auth0 계정에 다음과 같은 변수가 만들어졌습니다.
{
"AUTH0_TOKEN_ENDPOINT": "https://sandrino-dev.auth0.com/oauth/token",
"AUTH0_CLIENT_ID": "xYHne6VBWIhWBzxF4Hy8ZTiDCrex00N3",
"AUTH0_CLIENT_SECRET": "bNZ2xSbbS3Mvq1ND1xZC0J2zu...",
"AUTH0_AUDIENCE": "urn:my-api"
}
이렇게 하면 나는 요청에서 이 값들을 사용할 수 있고, 여기저기 복사할 필요가 없다.다음 단계에서 Ican은 내 요청에 대해 인증을 설정하고 다음 설정을 사용하여 OAuth 2를 클라이언트 자격 증명 유형으로 구성할 수 있습니다.ACCESS TOKEN URL
: Auth0 임대인 /oauth/token
단점CLIENT ID
: 컴퓨터 대 컴퓨터 어플리케이션 CLIENT SECRET
: 기계가 기계 응용 프로그램에 대한 클라이언트 기밀 HEADER PREFIX
: Bearer
으로 설정AUDIENCE
: API Fetch Tokens 버튼은 이제 Auth0에서 새로운
access_token
을 요청하는 데 사용할 수 있습니다.완료되면 보호된 API 끝점을 호출할 수 있습니다.Timeline 탭에서는
Authorization
헤더와 API로 전송되는 access_token
을 비롯한 HTTP 요청을 보다 자세히 확인할 수 있습니다.인증 코드 부여
사용자 기반 흐름을 테스트하려면 일반 웹 응용 프로그램, 단일 페이지 응용 프로그램 또는 네이티브 응용 프로그램을 만들거나
authorization_code
지출금을 테스트할 수 있습니다.이 예에서는 일반 웹 응용 프로그램과 오프라인 액세스가 활성화된 API(요청
refresh_token
)를 만듭니다.응용 프로그램의 리셋 URL은 반드시 어떤 값으로 설정해야 하기 때문에 이 테스트에 대해 나는 단지 그것을 http://insomnia
으로 설정할 뿐이다다음 단계로 불면증 환경을 업데이트했습니다.
AUTH0_AUTHORIZE_ENDPOINT
:{
"AUTH0_AUTHORIZE_ENDPOINT": "https://sandrino-dev.auth0.com/authorize",
"AUTH0_TOKEN_ENDPOINT": "https://sandrino-dev.auth0.com/oauth/token",
"AUTH0_CLIENT_ID": "DVIiCVJccDTscB1eBFS3BFrQ8JACl3EF",
"AUTH0_CLIENT_SECRET": "ZLSi5XpuG6YLdryNX2dKsicU1....",
"AUTH0_AUDIENCE": "urn:my-api"
}
인증을 요청할 때 OAuth 2에서 인증 코드 인증 유형을 선택할 수 있습니다.다음 설정에 유의하십시오.
REDIRECT URL
: 또한 http://insomnia
으로 설정합니다.동전을 되찾을 때 브라우저 창이 열리고 사용자 신분으로 로그인할 수 있습니다.마지막으로 Auth0은 http://insomnia으로 리디렉션되며, 이 리디렉션을 포착하고 코드 교환을 실행합니다.SCOPE
: offline_access
이 필요하거나 API가 필요한 역할 도메인이 있으면 refresh_token
이 필요합니다.처음에
refresh_token
역할역을 사용하여 영패를 요청하면 그 어떠한 후속 영패도 offline_access
을 사용하기 때문에 다시 로그인할 필요가 없습니다.One nice thing here is that Insomnia also supports Refresh Token Rotation, so if your Authorization Server returns a new
refresh_token
for each exchange.
자원 소유자 암호 부여
마지막으로 리소스 소유자 암호를 사용하여 승인된 레거시 응용 프로그램을 사용하는 경우 다음과 같은 경우에도 사용할 수 있습니다.
Note that for Auth0 you'll need to configure the credentials to be In Request Body
Auth0에서 여러 데이터베이스 연결을 사용할 때 사용할 연결을 정의할 수 없기 때문에 문제가 발생할 수 있습니다.Auth0 임차인 설정에서 기본 데이터베이스 연결을 구성할 수 있습니다.
✅ 성공!
우리 시작했어.Auth0으로 보호된 API를 테스트하는 것은 결코 쉬운 일이 아닙니다.더 나아가 불면증 CLI(inso)를 사용하여 테스트를 자동화할 수도 있습니다.
Reference
이 문제에 관하여(코어: 테스트용 Auth0 보호 API), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sandrinodimattia/insomnia-core-testing-apis-secured-with-auth0-5fg5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)