NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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:002363

评论

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

缺客户、缺钱、缺时间——实业经营的真挑战,中国企业分别突破

B Impact

华为Mate 60必备,这几个保护隐私的设置太实用了

最新动态

Serverless,无服务器时代的创新之旅开启了吗

谐云

第22期 | GPTSecurity周报

云起无垠

一座 “数智桥梁”,华为助力“天堑变通途”

脑极体

AI

手机是数字世界的另一个你,你的隐私还安全吗?

最新动态

Java while 和do while 循环

HoneyMoose

单模光纤与多模光纤是什么呢?

小齐写代码

技术、前沿、未来、AI:Stack Overflow 2023 年度报告重磅发布

谐云

在线涂鸦画板软件哪款好?这7款涂鸦神器值得推荐!

彭宏豪95

效率工具 画图软件 在线白板 涂鸦 绘画软件

客服发送一条消息背后的技术和思考

得物技术

体验 IM 客服

跨国文件传输为什么要用专业的大文件传输软件?

镭速

跨国文件传输

陈奕迅全新专辑《CHIN UP!》上线华为音乐,五年后心血之作强势来袭

最新动态

Rust中non_exhaustive的enum

胡译胡说

rust

Ping和ARP流程解析

王玉川

router Switch ping ICMP ARP

HarmonyOS数据管理与应用数据持久化(一)

HarmonyOS开发者

影视企业有哪些方式将视频文件快速海外跨国传输国内?

镭速

跨国文件传输

Python JSON 使用指南:解析和转换数据

小万哥

Python 程序员 软件 后端 开发

企业如何开展数据管理体系建设,激活数据价值?

用友BIP

数据 数据价值

Evolving with AR9582: MFC900M - A Legacy of Connectivity and Adaptation

wallyslilly

AR9582

低代码可视化逻辑编排工具

树上有只程序猿

低代码 可视化编排 JNPF

桌面云一体机什么品牌最好?

青椒云云电脑

桌面云 一体机 桌面云一体机

Websocket、Socket、HTTP之间的关系。

百度搜索:蓝易云

Linux socket HTTP websocket 运维‘

NetMock简介:简化 Java,Android和Kotlin多平台中的HTTP请求测试?

百度搜索:蓝易云

Java android kotlin HTTP NetMock

数据库|PostGreSql 和 MySql 的优劣对比

谐云

高能有料 | 第二届OpenHarmony技术大会议程速递

OpenHarmony开发者

对话在行人|浙纺服职院:数智赋能教育高质量发展

用友BIP

2023全球商业创新大会 对话在行人

Gartner发布2024年十大战略技术趋势

谐云

还得是PHP

谐云

以云原生应用构建现代化架构的企业业务系统

谐云

陌生链接可能是诈骗网址,谁来保护我们的上网安全?

最新动态

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