第 6 章 Eclipse Vert.x 身份验证和授权的更改
以下小节描述了 Eclipse Vert.x 身份验证和授权的更改。
Eclipse Vert.x 验证模块在 Eclipse Vert.x 4 中有重大更新。io.vertx.ext.auth.AuthProvider
接口被分成两个新接口:
io.vertx.ext.auth.authentication.AuthenticationProvider
重要身份验证功能仅作为技术预览提供。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关技术预览功能支持范围 的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。
-
io.vertx.ext.auth.authorization.AuthorizationProvider
在这个版本中,任何供应商都可以独立执行身份验证和授权。
6.1. 迁移身份验证应用程序
在结果级别上更改了验证机制。在以前的版本中,结果是 User
对象,它是特定于供应商的。在 Eclipse Vert.x 4 中,结果是对 io.vertx.ext.auth.User
的常见实现。
以下示例演示了如何在 Eclipse Vert.x 3.x 版本中验证用户。
JsonObject authInfo = new JsonObject() .put("username", "john") .put("password", "super$ecret"); // omitting the error handling for brevity provider.authenticate(authInfo, res -> { if (res.succeeded()) { // may require type casting for example on Oauth2 User user = res.result(); } });
以下示例演示了如何在 Eclipse Vert.x 4 中验证用户身份。
JsonObject authInfo = new JsonObject() .put("username", "john") .put("password", "super$ecret"); // omitting the error handling for brevity provider.authenticate(authInfo, res -> { if (res.succeeded()) { // Never needs type casting User user = res.result(); } });