写点什么

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

评论

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

Hinton等谈深度学习十年;PyTorch落地Linux基金会的影响;机器学习界的“GitHub”|AI系统前沿动态

OneFlow

人工智能

PostgreSQL逻辑复制解密

京东科技开发者

数据库 postgresql 数据迁移 WAL 逻辑复制

EasyNLP玩转文本摘要(新闻标题)生成

阿里云大数据AI技术

自然语言处理 深度学习 开源技术 文本检测 企业号九月金秋榜

反诈骗要卷起来!隐私计算助攻反诈行动把握主动权

Jessica@数牍

数据安全 隐私计算 反欺诈

还不会搭建自己的产品帮助中心?来看看这个

Baklib

一文读懂数字化转型中的数据存储

元年技术洞察

数据库 数据中台 数据治理

直播预告 | PolarDB-X 动手实践系列——PolarDB-X 的表组与分区变更

阿里云数据库开源

MySQL 数据库 阿里云 开源 PolarDB-X

Orbeon form 的安装和使用教程

Jerry Wang

typescript SAP Hybris form 9月月更

从零到一了解APP速度测评

百度Geek说

App 网络 企业号九月金秋榜 速度测评

MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描

MASA技术团队

.net MASA MAUI Xamarin

如何用AR Engine开发一个虚拟形象表情包?

HMS Core

AR

一条sql了解MYSQL的架构设计

京东科技开发者

MySQL 数据库 架构 innodb 存储引擎

ESP32-C3入门教程 基础篇(五、RMT应用 — 控制SK6812全彩RGB 灯)

矜辰所致

ESP32-C3 9月月更 RMT

百草味推出“潮卤江湖”系列新品 聚焦地域风味创新

E科讯

“易+”开源 | 简单可信赖,GameSentry 正式开源

网易智企

开源 安全测试

本周预告:资深架构师解读多架构体系下的内核与系统开发等技术演讲 | 第47-48期

OpenAnolis小助手

开源 ebpf sig 龙蜥大讲堂 普华

活动报名|9月24日 Apache Flink Meetup · 北京站,Flink 1.16 新版本发布!

Apache Flink

大数据 flink 流计算 活动 实时计算

依赖项安全检测新利器:Scorecard API

SEAL安全

开源项目 开源安全 依赖项管理 开源组件 企业号九月金秋榜

HTML自带的拉风属性

大师兄

前端 HTML5, CSS3 9月月更

中国移动政企科创专题:耕“云”不辍,厚积薄发

Geek_2d6073

本周四晚19:00知识赋能第八期第2课丨ArkUI自定义组件

OpenHarmony开发者

OpenHarmony

SPI机制是什么,懂了

知识浅谈

spi 9月月更

一起瓜分20万奖金!第三届火焰杯软件测试大赛开始公开选拔!

测吧(北京)科技有限公司

测试

大数据调度平台Airflow(四):Airflow WebUI操作介绍

Lansonli

airflow 9月月更

前端必读:如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件

葡萄城技术团队

JavaScript Excel canvas 数据导入 数据导出

《2022 社交泛娱乐出海白皮书》发布,最全出海破局指南

融云 RongCloud

社交 白皮书 泛娱乐

NGINX 的未来:回到开源的初心

NGINX开源社区

nginx Kubernetes nginx 开源版 NGINX Kubernetes Gateway NGINX Amplify

行业方案|“机场”行业智能运维解决方案介绍

云智慧AIOps社区

解决方案 智能运维 运维管理 智能运维AIOps 监控安全

Baklib|7步教你写出实用的在线产品手册

Baklib

产品 产品文档 产品手册 在线协作

国民粮油品牌益海嘉里首个天猫超级品牌日交出完美答卷

堡垒机全称是什么?是运维安全审计系统吗?

行云管家

网络安全 堡垒机

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