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 授权方对突变进行身份验证
Packer 自定义映像构建失败并出现 ssh 身份验证错误
Google Cloud Endpoints 的自定义身份验证(而不是 OAuth2)