智能体刷屏的背后,是 AI 应用拐点的来临?AICon 北京站议程重磅公布,50+ 硬核分享不容错过 了解详情
写点什么

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

评论

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

阿里云丁宇:以领先的云原生技术,激活应用构建新范式

阿里巴巴中间件

阿里云 Serverless 容器 RocketMQ 云原生

高效的工作从取消汇报开始|敏捷实践

LigaAI

高效工作 Scrum 敏捷开发 研发团队 每日站会

Apache顶级项目Ranger和Alluxio的最佳实践(附教程)

Alluxio

Ranger Alluxio Apache 分布式 大数据 开源 8月月更

Kubernetes 1.25 发布!博云带你玩转新特性

BoCloud博云

容器 云平台 #k8s

DR882-Qualcomm-Atheros-QCA9882-2T2R-MIMO-802.11ac-Mini-PCIe-Wi-Fi-Module-5G-high-powe

wallys-wifi6

Zebec社区利好频传,Galaxy Project上领取专属Zebec OAT

小哈区块

RT-Thread记录(十二、I/O 设备模型之UART设备 — 使用测试)

矜辰所致

RT-Thread 8月月更

图灵访谈 | Vue.js官方团队成员霍春阳:跨专业做程序员,是什么感受?

图灵教育

什么是外网?外网需要做等保吗?与内网的区别是什么?

行云管家

等保 等级保护 内网 外网

搜索引擎分布式系统思考实践

得物技术

搜索引擎 分布式系统

DR600VX-Atheros-QCA9880-2T2R-MIMO-802.11ac-Mini-PCIe-Wi-Fi-Module-Dual-Band-2.4GHz-5GHz

wallys-wifi6

大咖说 | 云采销助力中小企业获客提升300%,交易提效58%

大咖说

数字化升级 云采销

人工智能应用落地的两难

felix

人工智能 开放api 算法模型

今日头条三天点击破亿!四天精通springcloud微服务架构

退休的汤姆

社招 java架构师 秋招 #java spring、

Zebec社区利好频传,Galaxy Project上领取专属Zebec OAT

西柚子

这个让全网眼红的红利行业,还需要人才吗

千锋IT教育

基于 Flink 构建大规模实时风控系统在阿里巴巴的落地

Apache Flink

大数据 flink 编程 流计算 实时计算

中仑网络全站 Dubbo 2 迁移 Dubbo 3 总结

阿里巴巴中间件

阿里云 开源 云原生 dubbo

攻击面管理:企业向主动安全转变的开始

SEAL安全

攻击技术 黑客攻击 软件供应链安全

百度App 低端机优化-启动性能优化(概述篇)

百度Geek说

性能优化 运维 服务器

工程师如何拥抱数字化转型?

星策开源社区

工程师 产业数字化 数字化时代 智能化转型

我想搞信息资讯聚合类产品,如何编写PHP爬虫?

智伍应用

使用 yo 命令行向导创建 SAP UI5 应用

汪子熙

前端开发 SAP SAP UI5 ui5 8月月更

基于 Flink x TiDB,智慧芽打造实时分析新方案

Apache Flink

大数据 flink 编程 流计算 实时计算

灏天农业签约旺链科技,推动中药材产业健康发展

旺链科技

区块链 产业区块链 中药材

RedisSyncer同步引擎的设计与实现

京东科技开发者

同步代码 key 引擎 redis 底层原理

MobTech ShareSDK Android端快速集成

MobTech袤博科技

android Android Studio SDK 教程

ONES 团队版50人以下免费,助力中小企业「弯道超车」

万事ONES

程序员被京东淘汰转身痛哭,HR扎心了

千锋IT教育

金山云团队分享 | 5000字读懂Presto如何与Alluxio搭配

Alluxio

金山云 presto Alluxio 大数据 开源 8月月更

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