ServiceStack 对身份验证失败的自定义响应

Posted

技术标签:

【中文标题】ServiceStack 对身份验证失败的自定义响应【英文标题】:ServiceStack custom response on failed authentication 【发布时间】:2018-03-02 13:43:29 【问题描述】:

我为 servicestack 创建了一个自定义身份验证,效果很好。唯一的问题是,当我未登录时,每条需要身份验证的路由都得到空响应。如何更改它以返回类似


    "statuscode":"401",
    "message":"Unauthorized"

谢谢!

【问题讨论】:

【参考方案1】:

状态代码和状态描述已经在返回的 HTTP 响应标头中,这是来自 HTTP API 的预期响应。如果您从网络浏览器(即接受 html 的客户端)调用,您可以实现一个 /login 页面(可配置为 AuthFeature.HtmlRedirect)向用户显示登录页面。

否则,您可以在自定义 AuthProvider 中覆盖 OnFailedAuthentication() 以覆盖在失败的 Auth 响应中返回的内容,请注意您在响应正文中编写的内容,因为 JSON 响应仅对请求 JSON 响应的客户端有意义。

【讨论】:

以上是关于ServiceStack 对身份验证失败的自定义响应的主要内容,如果未能解决你的问题,请参考以下文章

通过 AppSync 上的自定义 Lambda 授权方对突变进行身份验证

ServiceStack 身份验证流程

Packer 自定义映像构建失败并出现 ssh 身份验证错误

Google Cloud Endpoints 的自定义身份验证(而不是 OAuth2)

创建通过外部 API 进行身份验证的自定义身份验证提供程序?

使用 ServiceStack 使用 REST Web 服务时的用户身份验证