我的设置由3个组件组成:
Auth0,我在这里添加用户并管理他们的权限。
我的前端SPA网页,用作我的API的shell。
我的API,用ServiceStack做的。
下面是身份验证流程,正如我想象的那样:
用户在客户端应用程序中单击"log Auth0“。
然后,用户被重定向到Auth0,在那里他登录并接收JWT。
此JWT存储在客户端上,并添加到我的API的每个请求中。
我的API (ServiceStack)通过检查它是否与Auth0给我的证书匹配来验证JWT。
我的接口(ServiceStack)检查用户是否拥有由Auth0管理并包含在JWT中的所需权限。
理想情况下,这应该和向服务添加Authorize和RequiredPermission标记一样简单,以配置访问哪些服务所需的权限。
我尝试过用很多不同的方法来实现这一点,但我开始认为我的整个方法都是有缺陷的,所以很难添加任何代码片段来说明这个问题。我是否从根本上误解了什么,或者这是应该可以在ServiceStack中设置的东西?通过使用http://jwt.io/,我能够从Auth0获取并验证JWTs是否正确,问题是如何在ServiceStack中集成此验证。
发布于 2018-06-08 04:00:41
Auto0已经发布了大量关于与ServiceStack集成的文档和文章:
对于JWT集成,我在以下位置找到了一个自定义OAuth0提供程序:
或者查看有关与Auth0 OAuth提供程序集成的答案
https://stackoverflow.com/questions/50744442
复制相似问题