2016-03-11 2 views
3

Я хочу получить токен-носитель Auth0 для моего приложения node.js.Как получить правильный токен на предъявителя Auth0?

я получил маркер носителя, делая это:

curl https://myproject.eu.auth0.com/oauth/token --data "client_id=ID&client_secret=SECRET&type=web_server&grant_type=client_credentials"

Который вернул меня:

{ 
    "access_token": *BEARER TOKEN*, 
    "token_type": "Bearer" 
} 

Хотя, если я использую этот маркер с почтальоном в заголовке Auth, он говорит мне : Invalid token. Итак, как мне получить правильный токен-носитель?

Мой сервер выглядит следующим образом:

const koa = require('koa'); 
const route = require('koa-route'); 
const jwt = require('koa-jwt'); 
const testRoute = require('./testRoute'); 

const app = koa(); 
//Copy pasted those values from my auth0 dashboard 
const authentication = jwt({ 
    secret: new Buffer(*CLIENT_SECRET*, 'base64'), 
    audience: *YOUR_CLIENT_ID* 
}); 
app.use(authentication); 
app.use(route.get('/test', testRoute)); 
app.listen(3000); 

Я последовал за это руководство, чтобы установить его: https://auth0.com/docs/quickstart/backend/nodejs/.

ответ

7

access_token - непрозрачный токен, а не JWT, который ожидает ваше приложение. Если вы используете scope=openid при совершении звонка на /oauth/token, вы также получите id_token, который является JWT, который должен принять ваш API.

Вы можете узнать больше о том, как параметр scope работает в контексте Auth0 здесь: https://auth0.com/docs/scopes

Смежные вопросы