- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发一个需要高度可扩展的 REST 应用程序。根据我对负载平衡的了解,应该将实际应用程序分成独立的部分。到目前为止,我已将创建帐户和登录与实际应用程序分开。我关注了this实现 JWT 的教程。这是最佳实践还是可以改进此解决方案?
但是,我将实际的 REST 应用程序作为一个单独的项目。显然,这两个应用程序需要协同工作。我怎样才能做到这一点?有没有办法存储 token 并在第二个应用程序中访问它?
有人告诉我要遵循微服务架构 according to this tutorial .
非常感谢您的帮助!
最佳答案
使用 auth0 博客中描述的 JWT 模式,服务被设计为无状态。事实上,示例代码显式禁用了 Spring session 。授权所需的所有信息都完全包含在 JWT token 本身中并受到加密保护。
因此,无需在多个服务/应用程序之间存储或共享 token ,只要它们都配置有相同的SECRET
即可。每个负载平衡服务只需要使用 JWTAuthorizationFilter 类来验证客户端收到的 token 。
从最佳实践的角度来看,不要从每个服务“手动”颁发 JWT token ,而是考虑使用 oauth2 或 OpenID Connect 服务。这可以是您自己的服务,也可以使用第三方服务,例如 auth0 或 okta。 (OpenID Connect 是 oauth2 的扩展)。
您可以从 https://auth0.com/blog/securing-spring-boot-apis-and-spas-with-oauth2/ 阅读有关 oauth2 的更多信息
关于java - 如何在不同服务器上时对 Spring UsernamePasswordAuthenticationFilter 进行负载平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57020763/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 4 年前。 Improve th
我有一组标题级别(1 到 6)。我正在使用 @for 循环,但我似乎无法弄清楚如何将它们分组而不是单独分组。 这是我正在使用的@for 循环: @for $i from 1 through 6 {
我在别处读到使用版本字符串到 网址 的 XML 模式通常是不好的做法 - 出于我理解的原因。 我想知道这个咒语在使用 Marklogic DB 时是否仍然适用?我的原因是命名空间和存储 XML Mar
下面是我的代码片段,它将多部分请求发布到服务器。根据某种条件,它决定只发布一个文件或同时发布两个文件。 // Based on some condition add 1 or 2 files to t
我尝试使用Collections.sort方法对类别数组列表进行排序,但没有成功。 这是我的代码: public class Categories implements Parcelable {
JSON: "ABCD": [ { "xyz": 3, "abc": 4, "info": { "MY_TITLE": "Hello World",
我正在尝试更新我的 MySQL 数据库服务器的一些变量;我在 Windows 10 64 位 笔记本电脑上运行 Maria 版本 10.3.12。我尝试更新位于此处的 my.ini 文件: C:\Pr
有一系列的 YouTube 视频,我想嵌入而不必每次都重写嵌入代码,所以使用了 stringWithFormat 来动态插入 URL: videoHTML = [NSString stringWith
如果客户端请求的域没有有效的 CA 签名证书,并且服务器不打算支持 HTTPS 但确实支持该域的 HTTP,那么在 Web 服务器中处理此问题的最佳方法是什么。请注意,服务器确实处理其他域上的 SSL
此时我们有一个在 Linux 和 weblogic 设置上运行的 Web 应用程序。有一个本地目录/home/doc 用于存储我们应用程序中使用的文件。 目前,我们通过wls:虚拟url映射和wls:
我一直在思考这个问题,但还没有想出任何稳定/优雅的想法。 我知道使用 MyISAM 表,您可以获得表 def 更新时间,但对于 InnoDB 则不然,我发现查看 .frm 文件以了解定义何时更新甚至不
我有一个 Ruby 散列,我正在将其转换为 to_json 并传递给 View 。然后 JavaScript 解析 JSON (JSON.parse) 并对其进行迭代,生成键值对。如何对散列进行排序,
我正在使用 org.json 库中可用的转换函数将 json 转换为 xml。这样做非常简单。 String xmlStr = XML.toString(new JSONObject(jsonStr)
我的 View 模型拥有一个非常简单的 recyclerview 适配器 当我尝试向它发送消息(进而调用 notifyDatasetChanged )时,它会抛出这样的异常 java.lang.Nul
我按以下方式设置了 GridView: 绑定(bind)到List在代码隐藏中(我正在使用我自己的自定义 BOL) HTML 页面上没有数据源对象 可对我选择的每一列进行排序(SortExpressi
假设我想测试用户是否能够填写表单来创建新项目。我需要访问的路由是:new_user_project_path(:user_id)。 所以,我的特征 rspec 现在看起来像这样: feature "U
我有一个 linux 机器,我在上面编译并安装了更新版本的 GCC (4.3.9),它位于/usr/lib 中。 我使用此编译器构建了一组库,并将其捆绑到 RPM 中,但是当我尝试安装该 RPM 时,
@DependsOn(value="userService") public class AuthcRealm implements Realm { @Autowired @Lazy(value=fa
我的团队最近更新了我的网站 www.uksoccershop.com,以使用 timthumb 显示图像缩略图。这已经成功完成,但是从 Google 图片中丢失 SEO 流量的问题迫在眉睫。恐怕 Go
我试图构建一个 kd 树来搜索一组点,但我对维基百科文章中“中位数”的使用感到困惑。为了便于使用,维基百科文章将构造kd-tree的伪代码表述为: function kdtree (list of p
我是一名优秀的程序员,十分优秀!