Class OpenIdRegistrationServiceImpl
java.lang.Object
ch.tocco.nice2.sso.impl.OpenIdRegistrationServiceImpl
- All Implemented Interfaces:
OpenIdRegistrationService
@Component
public class OpenIdRegistrationServiceImpl
extends Object
implements OpenIdRegistrationService
-
Constructor Summary
ConstructorsConstructorDescriptionOpenIdRegistrationServiceImpl(Context context, SecurityManager securityManager, QueryBuilderFactory queryBuilderFactory, EntityDefaultValueService entityDefaultValueService, L10N l10n, EmailTemplateLoadService emailTemplateLoadService, MailFactory mailFactory) -
Method Summary
Modifier and TypeMethodDescriptiongetMatchingPrincipal(@Nullable String emailAddress) Searchs for a matching principal using a given emailAddress 1.registerOpenIdUser(Entity provider, Entity principal, String subject, String sourceUri) Saves the registration data to a "Openid_link_information" entity and returns the generated uuid.sendRegistrationMail(Entity principal, @Nullable String registrationIdentifier, String uuid) Sends the registration mail (email template "sso_registration_mail") Resolves the user linked to the principal and uses this user as mail recipient.
-
Constructor Details
-
OpenIdRegistrationServiceImpl
public OpenIdRegistrationServiceImpl(Context context, SecurityManager securityManager, QueryBuilderFactory queryBuilderFactory, EntityDefaultValueService entityDefaultValueService, L10N l10n, EmailTemplateLoadService emailTemplateLoadService, MailFactory mailFactory)
-
-
Method Details
-
getMatchingPrincipal
Description copied from interface:OpenIdRegistrationServiceSearchs for a matching principal using a given emailAddress 1. Checks if there is a principal with the emailAddress as 'username' if so, return this Principal 2. Checks if there exactly one Principal that is linked with a user using the given emailAddress. If so, return it.- Specified by:
getMatchingPrincipalin interfaceOpenIdRegistrationService- Returns:
- identified principal or absent if we were not able to find a unique match
-
registerOpenIdUser
public String registerOpenIdUser(Entity provider, Entity principal, String subject, String sourceUri) Description copied from interface:OpenIdRegistrationServiceSaves the registration data to a "Openid_link_information" entity and returns the generated uuid.- Specified by:
registerOpenIdUserin interfaceOpenIdRegistrationService- Returns:
- the generated uuid
-
sendRegistrationMail
public String sendRegistrationMail(Entity principal, @Nullable String registrationIdentifier, String uuid) throws MailException Description copied from interface:OpenIdRegistrationServiceSends the registration mail (email template "sso_registration_mail") Resolves the user linked to the principal and uses this user as mail recipient. If no email address is set on the user, the registrationIdentifier is used as fallback email address.- Specified by:
sendRegistrationMailin interfaceOpenIdRegistrationService- Parameters:
principal- the target principal to notifyregistrationIdentifier- the registration identifier that was used to resolve the principaluuid- the registration uuid (return value of registerOpenIdUser)- Returns:
- the email address to which the email was sent
- Throws:
MailException
-