从 vertx 中的客户端证书中提取用户主体
Posted
技术标签:
【中文标题】从 vertx 中的客户端证书中提取用户主体【英文标题】:extract the user principal from client certificate in vertx 【发布时间】:2018-12-13 10:30:39 【问题描述】:我正在为我的 API 使用 Vertx 框架,并已成功启用 https。
对于用户身份验证/授权,我不想使用客户端证书,即谁可以访问哪些 API。 流程将:
-
当客户端命中 API 时,它会将其证书提供给 Vertx 服务器。此证书应包含用户名 CN。
Vertx 服务器应验证客户端证书并从中提取公用名,然后根据此用户名进行授权。
如何读取客户端证书以提取 cn 即用户主体?
【问题讨论】:
【参考方案1】:如果你有io.vertx.core.http.HttpConnection
,你可以写:
connection.sslSession().getPeerPrincipal().getName()
【讨论】:
感谢您的回答。我能够这样做。我的完整场景是我想对我的 Vertx webapp 进行证书身份验证/授权,即需要客户端证书,并且基于客户端证书中的 cn,因此将决定角色/权限。对此的任何指示,实现这一目标的最佳方法是什么。以上是关于从 vertx 中的客户端证书中提取用户主体的主要内容,如果未能解决你的问题,请参考以下文章