Introduction

The module’s integration lets you incorporate security features into your website, using Yubico.

Business

Development

Core

Entity Definitions

YubikeyUserEntityDefinition

The only entity definition, added via the module, is the YubikeyUserEntityDefinition. It adds the yubico-related attributes to the UserEntityDefinition. The inheritance goes further to the PrincipalEntityDefinition and the AbstractEntityDefinition:

asciidoctor diagram YubikeyUserEntityDefinition

The defined here property stores the yubikeyPublicId.

Business Services

YubikeyAuthenticationProvider

The YubikeyAuthenticationProvider implements the Spring security AuthenticationProvider and the coming from the Spring beans factory InitializingBean:

asciidoctor diagram YubikeyAuthenticationProvider

The implementation checks the generated yubikey for the user. This guide shows how to generate a publicId for the customer and store it in your database.

YubikeyUserDetails

The YubikeyUserDetails adds the yubikeyUser-related attributes to the UserDetailsDtoDefinition. The other extended interface is UserDetails, coming from Spring security:

asciidoctor diagram YubikeyUserDetails

For more details, please, refer to the Yubico documentation.

Configuration

Name Type Description

nemesis.security.yubico.client-id

java.lang.Integer

The client id for the yubikey integration.

nemesis.security.yubico.secret-key

java.lang.String

The secret key for the yubikey integration.