我已经为此奋斗了好几天,但无法弄清楚。我正在尝试使用Auth0对Node应用进行身份验证。当我将RS256令牌与jwt.verify(token, AUTH0_SECRET, callback)
一起使用时,从我的Node应用程序中,我不断收到“无效算法”。我的应用程序设置为使用RS256,并且我验证了令牌实际上是在使用RS256。那没有道理,但我想不出为什么会收到该错误,因此我尝试在身份验证过程中手动卷曲方式;
在浏览器中访问授权URL:
https://MY_DOMAIN.auth0.com/authorize?
audience=https://MY_DOMAIN.auth0.com/api/v2/&
scope=name profile email openid&
response_type=code&
client_id=MY_CLIENT_ID&
redirect_uri=http://localhost:3000/callback&
state=ARBITRARY_VALUE
重定向到回调:
http://localhost:3000/callback?code=MY_CODE&state=ARBITRARY_VALUE
令牌交换代码:
curl --request POST \
--url 'https://MY_DOMAIN.auth0.com/oauth/token' \
--header 'content-type: application/json' \
--data '{"grant_type":"authorization_code","client_id": "MY_CLIENT_ID","client_secret": "MY_CLIENT_SECRET","code": "MY_CODE","redirect_uri": "http://localhost:3000/callback"}'
响应:
{"access_token":"MY_ACCESS_TOKEN","expires_in":86400,"token_type":"Bearer"}
调用API:
curl --request GET \
--url https://MY_DOMAIN.auth0.com/api/v2/users \
--header 'authorization: Bearer MY_ACCESS_TOKEN' \
--header 'content-type: application/json'
获取无效的令牌响应:
{"statusCode":401,"error":"Unauthorized","message":"Invalid token","attributes":{"error":"Invalid token"}}
我在做什么错?我已经尝试了几次,但除了401或404之外,我一无所知。
当我在应用中将手动生成的access_token
与jwt.verify
一起使用时,我仍然会收到“无效算法”响应。