Class MfaSetupServiceImpl
java.lang.Object
nl._42.restsecure.autoconfigure.authentication.mfa.MfaSetupServiceImpl
- All Implemented Interfaces:
MfaSetupService
Service which contains logic to set up MFA authentication
-
Constructor Summary
ConstructorDescriptionMfaSetupServiceImpl
(dev.samstevens.totp.secret.SecretGenerator secretGenerator, dev.samstevens.totp.qr.QrDataFactory qrDataFactory, dev.samstevens.totp.qr.QrGenerator qrGenerator, String issuer) -
Method Summary
Modifier and TypeMethodDescriptiongenerateQrCode
(String secret, String label) Generates a new MFA QR codeGenerates a new MFA secret The secret is to be stored in a secure way for the given user.
-
Constructor Details
-
MfaSetupServiceImpl
public MfaSetupServiceImpl(dev.samstevens.totp.secret.SecretGenerator secretGenerator, dev.samstevens.totp.qr.QrDataFactory qrDataFactory, dev.samstevens.totp.qr.QrGenerator qrGenerator, String issuer)
-
-
Method Details
-
generateSecret
Generates a new MFA secret The secret is to be stored in a secure way for the given user.- Specified by:
generateSecret
in interfaceMfaSetupService
- Returns:
- Secret key to generate a QR code and to validate MFA authentication codes.
-
generateQrCode
Generates a new MFA QR code- Specified by:
generateQrCode
in interfaceMfaSetupService
- Parameters:
secret
- Secret key of the userlabel
- Label to show in the MFA app. This must be something related to the user (e.g. username, email address).- Returns:
- A base64-encoded DATA URI of the QR code. This can for example be used in a HTML img element.
- Throws:
MfaException
- If the QR code cannot be generated.
-