2
나는 node.js와 express.js를 기반으로하는 서버가있는 iOS 앱에 Auth0의 서비스를 사용하고 있습니다. 나는 Auth0의 문서와 시드 프로젝트를 가능한 한 최선을 다했지만 서버는 iOS 애플리케이션에서 보내는 토큰이 유효하지 않다는 불평을 계속합니다.iOS에서 node.js 서버로 보낼 때 Auth0 토큰이 항상 유효하지 않은 이유는 무엇입니까?
: (AFNetworking 사용) 요청에 대한 헤더를 설정하면 Auth0 documentationvar 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);
에서 그리고 아이폰 OS에서 지정된 인증 및 경로 선언 - 서버에서
: 여기에 내 코드의 일부입니다
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)
서버의 응답을 확인 했습니까? 토큰이있는 URL 및 본문이 포함 된 객체 일 수 있습니다. –
iOS 측에서는 응답으로 다음과 같은 오류가 발생합니다. Domain = com.alamofire.error.serialization.response Code = -1011 "Request failed : unauthorized (401)" – cweber105
어떤 토큰을 보내고 있습니까? 'access_token'이 아니라'id_token'인지 확인하십시오 (후자는 JWT가 아닙니다). –