Lou*_*lon 6 javascript apollo graphql apollo-server apollo-client
所以,我在我的 iOS 应用程序中运行了一个 apollo 服务器和一个 apollo 客户端。
我正在尝试实施身份验证过程。按照阿波罗有关授权和身份验证的文档,我最终尝试了他们提供的代码:
context: ({ req }) => {
throw new AuthenticationError('you must be logged in');
},
Run Code Online (Sandbox Code Playgroud)
但是,在测试代码时,我发现抛出错误,无论是 javascript 错误还是 apollo 错误,它总是会发回 http 400 错误:
Error: Response not successful: Received status code 400
at new ApolloError (errors.cjs.js:31)
at core.cjs.js:1493
at both (utilities.cjs.js:963)
at utilities.cjs.js:956
at tryCallTwo (core.js:45)
at doResolve (core.js:200)
at new Promise (core.js:66)
at Object.then (utilities.cjs.js:956)
at Object.error (utilities.cjs.js:964)
at notifySubscription (Observable.js:140)
Run Code Online (Sandbox Code Playgroud)
认证错误不会被发回。即使当我抛出自定义错误时,使用自定义状态代码和所有内容它总是返回相同的错误。
难道我做错了什么 ?或者这是一个问题?
如果您不指望收到任何下游任务的 401 错误代码,我认为这不是您需要担心的问题。但是,如果您确实需要收到预期的 401,则可以使用 Apollo Link 进行错误处理。在这里阅读: https: //www.apollographql.com/docs/react/data/error-handling/#advanced-error-handling-with-apollo-link
如果您仍然无法解决问题,浏览此问题可能也会有所帮助: https: //github.com/apollographql/apollo-server/issues/1709
希望这有帮助,编码愉快:)
| 归档时间: |
|
| 查看次数: |
1964 次 |
| 最近记录: |