ServiceStack中如何实现Auth0认证?

How to implement Auth0 authentication in ServiceStack?

我的设置包含 3 个组件:

Auth0,我在其中添加用户并管理他们的权限。
我的前端 SPA 网页,作为我的 API.
的 shell 我的 API,是用 ServiceStack 制作的。

这是我想象的身份验证流程:

用户在客户端应用程序中单击 "log in with Auth0"。
然后用户被重定向到 Auth0,他在那里登录并接收 JWT。
这个 JWT 存储在客户端,并添加到我的每个请求中 API.
我的 API (ServiceStack) 通过检查 JWT 是否与 Auth0 给我的证书相匹配来验证 JWT。
我的 API (ServiceStack) 检查用户是否具有所需的权限,由 Auth0 管理并包含在 JWT 中。

理想情况下,这应该像向服务添加 [Authorize] 和 [RequiredPermission] 标签一样简单,以配置访问哪些服务需要哪些权限。

我尝试过以多种不同的方式实现此目的,但我开始认为我的整个方法存在缺陷,因此很难添加任何代码片段来说明问题。我是从根本上误解了什么,还是应该可以在 ServiceStack 中设置?我能够通过使用 http://jwt.io/ 从 Auth0 获取并验证 JWT 是否正确,问题只是将此验证集成到 ServiceStack 中。

Auto0 已发布大量关于与 ServiceStack 集成的文档和文章:

对于 JWT 集成,我在以下位置找到了自定义 OAuth0 提供程序:

或查看有关与 Auth0 OAuth 提供程序集成的答案