最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

Stormpath 的 Java SDK 1.0 版发布了

  • 2016-09-07
  • 本文字数:2011 字

    阅读完需:约 7 分钟

近期 Stormpath发布了用户管理和认证的 Java SDK 1.0 版。Stormpath 一般会针对 Web 和移动应用的认证、授权和用户管理的实现(其中包括开源实现)提供 API,目标定位是一系列的语言和框架。它们是 Apache 认证的,托管于 GitHub,他们的价目表表明针对开发者计划“永久免费”。

Stormpath 的 Java SDK 提供了针对简单古老的 servlet 的集成,以及 Spring、Spring Security 和 Spring Boot 的集成。如果要在 Spring Boot 应用中集成 Stormpath 支持,你只需要增加一个 stormpath-default-spring-boot-starter 依赖。如果你使用的是 Maven:

复制代码
<dependency>
      <groupId>com.stormpath.spring</groupId>
      <artifactId>stormpath-default-spring-boot-starter</artifactId>
      <version>1.0.3</version>
</dependency>

或者如果你更喜欢用 Gradle:

复制代码
dependencies {
compile 'com.stormpath.spring:stormpath-default-spring-boot-starter:1.0.3'
}

在这些修改之后,你的应用将有许多开箱即用的功能,包括登录、登出、注册、忘记密码和邮箱验证。你甚至可以配置社交登录或 SAML(安全声明标记语言)支持,在 Stormpath 的仪表盘中直接配置即可使用。以下是登录和注册功能的截图:

如果你正在使用 Spring Security,那么就需要一个 Spring Security 配置类来集成 Spring Security。在增加这个类后,你就能以传统方式轻松地配置 Spring Security 了。

复制代码
import static com.stormpath.spring.config.StormpathWebSecurityConfigurer.stormpath;
@Configuration
public class SpringSecurityWebAppConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.apply(stormpath());
}
}

Stormpath 的 Java SDK 还提供了一个内容导航功能,有它就能够使用 JavaScript 客户端了。在接收到显式的 application/json 报头时它会返回一个 JSON 串,而不是返回由 JSP 或 Thymeleaf 生成的 HTML。为理解如何使用 AngularJS 来做这件事,可以查看他们的 Angular + Spring Boot + Stormpath 的示例应用。
伴随的测试套件 Stormpath Framework TCK 被用来验证所有 SDK 功能是一致的。它的测试是以 Groovy 语言用 REST-assured 写的,用来驱动应用并验证功能性。该 JAVA SDK 也有很多的测试是用 Groovy 写的,研究这两个开源项目能从中得到教学价值。

为对该版本有更多的了解,InfoQ 专门采访了 Stormpath 开发人员传道者 Micah Silverman。

InfoQ:你提供了针对 Java 的多种集成,对大多数流行的集成你有过统计吗?你是如何看待 servlet 的应用趋势的?

Micah Silverman在过去的 90 天里,有 4.7% 使用了 servlet 与 Stormpath 传输,它们部分使用了 Java SDK。有 68% 的 Java 传输来自于 Stormpath Spring Boot 集成变体(有和没有 Spring Security),其中有 51% 的 Java 通信包括 Stormpath Spring Security 集成。

InfoQ**:在StormpathJava SDK中最难实现的一部分是什么?**

Silverman我认为最大的挑战是 Stormpath Spring Security 集成。请求在通往响应的早期即冲击 Spring Security,所以在没有重复代码的情况下实现同时具有和不具有 Spring Security 的功能非常棘手。

InfoQ:在 1.0 版本中,你们的什么特性是最值得关注的?

Silverman在 1.0 版本中,最值得注意的特性是依从于 Stormpath Framework 规范。除此之外,还使 Java SDK 和集成与其他 Stormpath 语言 SDK 保持一致,这使得我们现在可以在配置文件中指定内容导航了。这就很容易将单页应用(SPA)和 Stormpath 集成配合来用了,在这种情况下现代流行的内容导航规则是很有必要的。

InfoQ**:你准备支持JSF和 ****/Java EE 8 MVC**吗?

Silverman我们没有集成 JSF 或 Java EE 8 的明确计划。然而,这并不会妨碍开发人员结合 Stormpath 集成来发挥这些技术的优势。

InfoQ:Stormpath 在自己构建的安全实现之上增加了什么?

SilvermanStormpath 的专长是后端的安全敏感信息。这是个不小的任务,也正是我们作为一家公司要做的。所有 SDK 和跨语言的集成的目的使开发人员易于使用 Stormpath,为此我们已经把“难啃的骨头”抽离了出来。对于 Java 来说尤其如此,我们针对它有 6 个主要集成:Shiro、Servlet、Spring WebMVC、Spring Security Spring WebMVC、Spring Boot WebMVC、Spring Security Spring Boot WebMVC。Java 集成是完全模块化的,所以你可以混合和匹配任何 Spring 集成,而不仅限于以上指定的四个。

InfoQ**:在具有像Spring SecurityJHipster之类已有工具的世界中,你适合在什么位置?**

Silverman我们有一个直至惯用的 Spring 表达式语言(比如使用 Stormpath 组的 hasAuthority)的 Spring Security 的深度集成。虽然我们还没有一个技术路线的具体计划,但我们正在关注着大多数流行 Java 框架的集成,包括 JHipster 和 Dropwizard。

查看英文原文 Stormpath’s Java SDK 1.0 Released

2016-09-07 19:002360

评论

发布
暂无评论
发现更多内容

融合康养产业、乐享宜居灞桥,西安市灞桥康养论坛即将举办

联营汇聚

华为云云耀云服务器L实例:为游戏开发者提供高性能的轻量应用服务器

轶天下事

华为云云耀云服务器L实例:高性能轻量应用服务器,助力应用快速部署

轶天下事

高性能轻量级应用服务器,华为云云耀云服务器L实例助力业务快速发展

轶天下事

C++的运算符重载介绍

二哈侠

区块链DAPP系统开发搭建

V\TG【ch3nguang】

区块链应用开发

ARTS-WEEK4-23.9.3~23.9.8

EchoZhou

三维设计绘图软件:AutoCAD 2020 mac激活版永久使用

mac

苹果mac Windows软件 AutoCAD 2020 三维设计绘图软件

程序员的核心竞争力是什么?

chao5

区块链dapp程序开发,app项目系统搭建

V\TG【ch3nguang】

ARTS 打卡第 4 周

AI帅辉

ARTS 打卡计划 学习分享

Illustrator 2022 for mac (AI 2022中文版) v26.4.1中文激活版

mac

苹果mac Windows软件 矢量图形编辑软件 Illustrator 2022 AI2022

视频特效处理软件After Effects 2021 for Mac(ae 2021) v18.4.1中文激活版

mac

苹果mac Windows软件 After Effects 视频特效处理软件

2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算从备选人员名单 people 中选出些人组成一个「必要团队」 ( 编号为 i 的备选人员

福大大架构师每日一题

福大大架构师每日一题

ARTS 打卡 第三周,向阳而生

海风极客

ARTS 打卡计划

活在此时此刻

少油少糖八分饱

生活 活在当下 冥想 正念 停止内耗

区块链NFT游戏开发

V\TG【ch3nguang】

区块链落地开发

Spring Boot集成JasperReport生成文档

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

ARTS 打卡第 4 周

Johnson

ARTS 打卡计划

如何成为一名10x程序员?

chao5

Stormpath的Java SDK 1.0版发布了_Java_Matt Raible_InfoQ精选文章