ios - 为什么我的 Auth0 token 从 iOS 发送到 node.js 服务器时总是返回无效?

标签 ios node.js express jwt auth0

我正在将 Auth0 的服务用于 iOS 应用程序,该应用程序的服务器构建在 node.js 和express.js 上。我已尽力遵循 Auth0 的文档和种子项目,但服务器不断提示我从 iOS 应用程序发送的 token 无效。这是我的一些代码:

来自服务器 - 身份验证和路由声明,如 Auth0 documentation 中指定的那样

var authenticate = jwt({
  secret: new Buffer(process.env.AUTH0_CLIENT_SECRET, 'base64'),
  audience: process.env.AUTH0_CLIENT_ID
});


app.use('/api', authenticate);
app.use('/api/userquery', queries);

在 iOS 中,设置请求的 header (使用 AFNetworking):

request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")

我知道请求正在正确发送,因为它对于不需要身份验证的路径运行良好。最后,这是我在服务器端收到的错误:

GET /api/userquery/currentUser 401 7.185 ms - 436
UnauthorizedError: invalid token
    at /node_modules/express-jwt/lib/index.js:100:22
    at /node_modules/jsonwebtoken/index.js:155:18
    at _combinedTickCallback (internal/process/next_tick.js:67:7)
    at process._tickCallback (internal/process/next_tick.js:98:9)

最佳答案

问题只是我将 token 从钥匙串(keychain)中拉出来后未能解开它。我没有在授权 header 中发送“Bearer [token]”,而是发送“Bearer [Optional(token)]”。

关于ios - 为什么我的 Auth0 token 从 iOS 发送到 node.js 服务器时总是返回无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38464590/

相关文章:

javascript - 未处理的拒绝 MongoError : cannot connect to server in MongoDB

node.js - 如何为 koajs 服务器做优雅的停止?

ios - 在 Xcode 中显示 View 边界的参数

ios - 纹理画笔(绘图应用程序)使用 Metal

node.js - populate 对 Mongoose 不起作用总是返回未定义

javascript - Node.js 中的 Google map 几何库

node.js - Mongoose 分页 : Overflow sort stage buffered data usage?

ios - UNUserNotificationCenter 线程安全

ios - SQLite 不支持嵌套查询

node.js - Nodejs : disconnected client from the server by socketio