This documentation is for WSO2 Identity Server 5.1.0. View documentation for the latest release.
Page Comparison - Self Sign Up and Account Confirmation (v.13 vs v.14) - Identity Server 5.1.0 - WSO2 Documentation

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel

The following service API can be used for the sign up and confirmation: https://localhost:9443/services/UserInformationRecoveryService?wsdl

Info

To set up and use the self registration feature with REST APIs, which is now the recommended method, see Self Sign Up Using REST APIs.


Configuring WSO2 Identity Server

  1. Open the identity.xml file found in the <IS_HOME>/repository/conf/identity/ directory. Enable the following SOAP identity listener by setting the enable property to true. Disable the REST API listeners (listeners with orderId=95 and orderId=97)  by setting the enable property to false

    Code Block
    languagexml
    <EventListener type="org.wso2.carbon.user.core.listener.UserOperationEventListener" name="org.wso2.carbon.identity.mgt.IdentityMgtEventListener" orderId="50" enable="true" />
    <EventListener type="org.wso2.carbon.user.core.listener.UserOperationEventListener" name="org.wso2.carbon.identity.governance.listener.IdentityMgtEventListener" orderId="95" enable="false"/>
    <EventListener type="org.wso2.carbon.user.core.listener.UserOperationEventListener" name="org.wso2.carbon.identity.governance.listener.IdentityStoreEventListener" orderId="97" enable="false"/>
  2. Configure the following properties in the <PRODUCT_HOME>/repository/conf/identity/identity­-mgt.properties file.

    Code Block
    languagexml
    Notification.Sending.Internally.Managed=true
    Authentication.Policy.Account.Lock.On.Creation=true
    Notification.Expire.Time=7200
    Notification.Sending.Enable=true 
    Authentication.Policy.Enable=true 

    See the following table for descriptions of these configurations.

    ConfigurationDescription
    Notification.Sending.Internally.Managed=true
    This enables the internal email sending module. If this property is set to false, the email sending data is available to the application via a Web service. Thus the application can send the email using its own email sender.
    Authentication.Policy.Account.Lock.On.Creation=true
    This enables locking the account when the account is created.
    Notification.Expire.Time=7200
    The time specified here is in minutes. In this case, the recovery expires after 7200 minutes.
    Notification.Sending.Enable=true

    This enables the email sending function when recovering the account and verifying the user creation.

    Authentication.Policy.Enable=true
    This enables the authentication flow level checks for the account lock and account confirmation features. This must be enabled to make the account confirmation feature work.
  3. Configure the email­-admin­-config.xml file found in <PRODUCT_HOME>/repository/conf/email/ with the email template of type “accountConfirmation”. The following is a sample template:

    Tip

    Tip: You can also customize the email template through the WSO2 IS management console in other languages. For more information on how to do this, see Customizing Automated Emails.

    Code Block
    languagehtml/xml
    <configuration type="accountConfirmation">
    <targetEpr></targetEpr>
            <subject>WSO2 Carbon - Account Confirmation</subject>
            <body>
    Hi {first-name},
    
    You have created an account with following user name
    
    User Name: {user-name}
    
    Please click the following link to unlock. If clicking the link doesn't seem to work, you can copy and paste the
    link into your browser's address window.
    
    https://localhost:8443/InfoRecoverySample/confirmReg?confirmation={confirmation-code}&amp;userstoredomain={userstore-domain}&amp;username={user-name}&amp;tenantdomain={tenant-domain}
            </body>
            <footer>
    Best Regards,
    WSO2 Identity Server Team
    http://www.wso2.com
            </footer>
            <redirectPath></redirectPath>
    </configuration>
  4. Open the <IS_HOME>/repository/conf/axis2/axis2.xml file and uncomment the following email transportSender configurations. This is necessary because notification sending is internally managed. The configuration values provided are sample values therefore, provide your email details as required.

    Code Block
    languagexml
    <transportSender name="mailto" class="org.apache.axis2.transport.mail.MailTransportSender">        
    		<parameter name="mail.smtp.from">wso2demomail@gmail.com</parameter>
            <parameter name="mail.smtp.user">wso2demomail</parameter>
            <parameter name="mail.smtp.password">mailpassword</parameter>
            <parameter name="mail.smtp.host">smtp.gmail.com</parameter>
            <parameter name="mail.smtp.port">587</parameter>
            <parameter name="mail.smtp.starttls.enable">true</parameter>
            <parameter name="mail.smtp.auth">true</parameter>
    </transportSender>
    Note
    titleCustom user store - claim mapping

     If you are using a custom user store, follow the steps below and map the claim. Note that this is only required for custom user stores.

    1. Start the IS server and login to the management console. 

    2. Click on List under Claims on the Main tab and click on the http://wso2.org/claims dialect. 
    3. Click on the Edit button next to the AccountLocked claim and map the claim to the relevant attribute in the underlying user store. 
      See Claim Management for more information on how to do this.

...