authentication - 您如何从 servicestack 基本身份验证请求 session ,at/auth/basic?

标签 authentication servicestack basic-authentication

我已经使用第一个示例设置了具有基本身份验证的服务堆栈服务,此处: https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization

这会自动设置一个路由:/auth/basic 但是,我找不到关于如何格式化对此 URL 的请求(变量/GET/POST/Auth header 等)的任何信息或示例。

我能够使用基本身份验证凭据访问一个简单的服务,因此它们是有效且正确的。

我没有插入自定义身份验证,只有基本身份验证。

我试过:

  • 使用 JsonServiceClient 通过 GET 或 Json POST 将 UserName 和 Password 变量发送到/auth/basic,有或没有 Auth header 也包含用户和密码。

  • 使用浏览器发送带有 user/pass URL 参数的 GET 请求,或者作为 http://user:pass@localhost:123/auth/basic

我总是收到“HTTP/1.1 401 无效的 BasicAuth 凭据”。

我能找到的唯一示例涉及某种自定义身份验证,然后访问/auth/credentials,但我想使用/auth/basic

我查看了代码,看起来它读取了一个 Auth header ,但该服务不接受一个。

我实际上是在尝试让它工作,这样我就可以禁用它并验证它是否被禁用(我想要求对每个请求进行基本身份验证)。

问题是:

  • 调用/auth/basic 服务的正确方法是什么?我将采用 servicestack 客户端 API 示例、规范甚至原始 http 请求!

  • 如何完全禁用/auth 服务?

非常感谢。

最佳答案

调用/auth/basic 服务的正确方法是什么?我将采用 servicestack 客户端 API 示例、规范甚至原始 http 请求!

var client = new JsonServiceClient("http://localhost:56006/api");
var resp = client.Post(new Auth() { UserName = "TestUser", Password = "Password" });
  • 假设您还注册了 ICacheClientIAuthUserRepository(并添加了用户帐户)

如果调用 /auth/basic?format=json,JSON 格式如下所示

{
  "UserName": "admin",
  "Password": "test"
  "RememberMe": true
}

如何完全禁用/auth 服务?

不要将 AuthFeature 插件添加到配置中。

您也可以remove plugins

Plugins.RemoveAll(x => x is AuthFeature);

关于authentication - 您如何从 servicestack 基本身份验证请求 session ,at/auth/basic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16006627/

相关文章:

authentication - 限制特定仪表板中的某些 kibana 用户

javascript - 检查浏览器的 U2F 功能

html - 如何自定义Supabase电子邮件?

android - 如何访问使用 MIFARE 应用程序目录结构的 MIFARE Classic 卡?

c# - 如何将 ServiceStack.GetAsync 与 ReactiveCommand (v6) 一起使用

c# - 使用 ServiceStack.Redis C# .Net 在 Redis 服务器中从第 m 行到第 n 行搜索数据

redis - 如何使用 Redis 防止竞争条件?

safari - 为什么启用了 http 基本身份验证后 mp4 视频不起作用?

node.js - 在 Heroku 上将 NodeJs 应用程序设为私有(private)

c# - 针对 Web API 的 HttpClient 基本身份验证失败,而浏览器按预期工作