【发布时间】:2021-06-24 16:59:57
【问题描述】:
我试图在我的应用程序中使用自定义 SSO 时碰壁了,所以我想我会退后一步,在这里提问。
我按照this article 在.Net 5.0(没有Identity)中实现了一个RESTful 身份验证API。
我可以使用电子邮件和密码致电 http://localhost:4001/api/auth/login 以获取 JWT 响应
{
"token": "eyJhb<--removed jwt-->",
"errors": null
}
- 这是一个好方法吗?我不想使用像
Identity这样庞大或像OAuth这样复杂的东西。 - 如何将其与正常的身份验证“流程”联系起来?我知道您在登录时必须
Challenge身份提供者,但我找不到任何适合我情况的示例。 (尝试使用builder.AddJwtBearer("my_scheme", ...实现自定义方案,但这是我碰壁的地方)
【问题讨论】:
-
你不应该在网上发布真正的令牌(不确定你的是否是)。
-
这只是测试数据,没什么风险,但谢谢;)
-
这几乎可以工作。两个问题。首先,您的所有客户端应用程序都必须将用户名/密码发布到身份验证端点。这是一个糟糕的设计,您的用户不会在每个应用程序中重复他们的凭据。其次,要发布用户名/密码,客户端应用程序必须收集它。这很糟糕,用户必须信任他们不知道的应用程序。 SAML 或 OpenID 等企业 SSO 流程解决了这些问题。无需设计自己的解决方案,只需实现两者之一。 OpenId 更简单,您甚至可以“手动”完成
标签: c# .net authentication jwt