Table of Contents |
---|
Setup Checklist
...
1. Infrastructure Tasks
...
Set Up Azure Architecture
Status colour Red title Required Set Up SSL and DNS for Identity URL
Status colour Red title required Set Up Email for Integration
Status colour Red title required Set Up Twilio for Integration
Status colour Blue title optional Terms and Conditions configuration
Status colour Blue title optional
...
Status | ||||
---|---|---|---|---|
|
...
2. Commerce Tasks
...
Install and Enable the Identity Plugin in Aspenware Commerce
...
Status | ||||
---|---|---|---|---|
|
...
3. Identity Tasks
...
Configure Settings and Language Strings
Status colour Red title required Required Identity Settings
Email Template Customization Settings
Create Account/Claim Account Settings
General Messaging and Hard-Coded Error Messages
Login Page Language Strings
Reset Password Page Language Strings
Create Account Page Language Strings
Claim Account Language Strings
Force Password Reset Language Strings
...
Status | ||||
---|---|---|---|---|
|
...
Configure Theming for Identity
Status colour Red title Required Configure Multiple Store-Fronts and Identity
Status colour Blue title optional Complete Customization Checklist and Send to Aspenware Representative
Status colour Red title required
...
Status | ||||
---|---|---|---|---|
|
Prerequisite Tasks
...
Infrastructure Tasks
Set Up Azure Architecture
Identity requires Azure setup to create the web application and database and encryption keys in the Azure Key Vault. The Identity App Service can exist with the App Service Plan that also hosts Commerce and Arrival App Services. The Identity database stores configuration for the Aspenware Identity application. This database can consistently be set to an s3 service level under normal and increased traffic times. One database is used for both production and test.
Identity needs to be integrated into the same version of Unity utilized by Commerce and Arrival if applicable. The Unity server needs to be able to accept inbound traffic from Identity. Aspenware will work with you to ensure required traffic for Identity to work is allowed through securely.
Set Up SSL and DNS
Aspenware also recommends that your resort use a custom domain for the Identity app, such as http://login.yourresort.com. This will also require Secure Sockets Layer (SSL) setup and DNS entry. If you don’t have Aspenware Commerce, you’ll also want to set up a custom FQDN and SSL for Unity as well, Commerce customers will already have this configured. This process will be very similar to the process to configure SSL for Commerce detailed in this guide: https://hub.aspenware.net/main/How-to-generate-.pfx-file-for-new%2Frenewed-SSL-cert.1429471268.html. Work with your Aspenware representative to upload this and also to set up SSL renewal annual reminders.
(Optional) Set Up Twilio for Integration
Although not required, if your resort desires a custom number for Twilio communications, Aspenware is happy to integrate with individual Twilio accounts. For setup, we will need Twilio Account SID, Account API Token, and the From Number. Contact your Aspenware representative for assistance with this.
Terms and Conditions
Identity can be configured to allow guests to review and execute Terms and Conditions as a part of the account creation or sign-in process. If you license Aspenware’s Loyalty modual within Commerce and Unity, this T&C checkbox can be checked to opt guests into a Loyalty program, updating their status in RTP|One. If you do not use the Loyalty module in Aspenware commerce, T&C checkbox can be enabled but will NOT link to any flag in RTP or in Identity. In order to complete this configuration, please collect the following below and work with your Aspenware representative to implement.
server be configured for use with Loyalty. Include all required copy and links, organized by T&C 1, T&C 2, etc. Be sure to include your preference for the default setting (checked or unchecked for each T&C setting.)
Terms & Conditions 1 (T&C 1)- Agreement Copy:
Example: I consent to the Terms of the Rewards Program.
Terms and Conditions 1 - Copy for Link and link for modality
Example: Click here to read terms. (embedded link: http://www.mytermsandconditions.com )
The Terms and Conditions copy is customizable. The Following can be customized by sending the desired copy to your Aspenware Representative.
Consent Text - i.e. "Enroll in Boyne Rewards."
Consent Link URL - i.e. "https://www.[yourresort].com/terms.html "
Consent Link Text - i.e. "Click here to read terms and conditions."
The following settings need to be configured as well, depending on you want the Terms and Conditions features to behave. Again, please let your Aspenware Representative know your preferences.
Is Consented Default (is the checkbox checked initially)
Show Checkbox
Show Consent Text
Show Consent Link
Check Required
...
Setting
...
Values
...
Description
...
NEED SETTING NAME for Terms and Conditions 1 check box appearing
...
...
This should only be enabled if Loyalty is configured for your store. This checkbox will only appear if a customer who is logging in does not already have a Boyne Rewards loyalty sign up. By clicking the box and accepting, the guest would enroll in the program. In subsequent logins, T&C 1 would not appear.
...
NEED SETTING NAME for Terms and Conditions 1 check box default as checked/unchecked
...
...
This loyalty sign up checkbox can be set to be enabled by default or disabled by default.
...
NEED SETTING NAME for Terms and Conditions 2 check box appearing
...
...
Can be used for generic terms and condition agreement. If enabled, this checkbox would appear on every login, and would not record the action taken by the guest.
...
NEED SETTING NAME for Terms and Conditions 2 check box default as checked/unchecked
...
...
This Terms and Conditions sign up checkbox can be set to be enabled by default or disabled by default.
HINT: The following HTML elements are supported in checkbox labels:
<b> <strong> <i> <em> <a> <span> <p>
href
and the target
attributes on an <a>
tag. This means that <a href=”google.com” target=”_blank”>Google</a>
will render as a working link.
Additionally, <b>
, <strong>
, <i>
, and <em>
can be used to format labels with bold or italics if desired. <p>
and <span>
can be used to break up the content or force line breaks.
Any tags or attributes not listed above will not render. They will be stripped out of the HTML before the content is rendered to the page. This is to ensure that nobody is inserting <script> tags or other elements that could lead to security risks or broken layouts.
Info |
---|
NOTE: Terms and Conditions (T&Cs) will be present on the account creation page, login page, and account capture page in an identical fashion. Only the first (Terms and Conditions-1) will execute an action - enroll the customer in the rewards program. Each additional Terms and Conditions are also customizable but do not trigger any action. Any additional Terms & Conditions would require Agreement Copy as well as Copy for link and link for modality. |
Commerce Tasks
1. Install and Enable the Identity Plugin in Aspenware Commerce
Note |
---|
IMPORTANT: If you plan on using Aspenware Commerce’s Identity plugin, be sure to notify Aspenware that you will need it included as part of your release. |
To begin using Identity, you must install, configure, and activate the Identity plugin. To do so, follow the steps below:
Find and install the Identity Plugin
In the Aspenware Commerce admin panel go to Configuration > Local Plugins
Search the list for ExternalAuth Methods : Identity Authentication
Select Install.
Once installation is complete, select Restart application to apply changes at the top of the page.
Info |
---|
NOTE: This restart can take up to 7 minutes to complete and should occur during low-traffic times. |
Configure Identity External Authentication
Go to Configuration > External Authentication
If the Identity plugin has been successfully installed you will see it on the admin screen.
Select Configure.
Enter your OpenID, ClientID, and OpenID ClientSecret (these are created and provided by Aspenware).
In the Authority to use when connecting to OpenID field enter the web address (URL) that will be using Identity.
Select Save.
Return to the External Authentication Admin page and select Edit.
Select the check box under the Is active column then select Update.
Identity Tasks
Settings
The following settings are configurable in Identity and must be set at the Identity client level (configurable per external applications). These cannot be controlled through an Admin interface and must be done by the Aspenware Dev Ops team, contact your Aspenware representative to update these settings.
Required Identity Settings
...
Setting
...
Values
...
Description
...
RequireAccountVerification
...
True/False
...
If an account is found, if TRUE, guest will be texted or emailed a code to verify that they are allowed to claim the account, if FALSE, the guest will be able to create an authentication profile on a found account with no verification required.
...
CheckPassMediaForFindUser
...
True/False
...
If TRUE, guest can login using their pass media or RFID number. If FALSE, login with pass number is disabled. If set to true, there are language strings that should be setup to reflect that this is allowed for guests as well.
...
AgeLimit
...
13 is the default
...
Age limit for guests to create accounts
...
PasswordExpiredEnabled
...
True/False
...
When set to TRUE this setting will enforce a password reset for all users logging in through identity with an RTP password date change of today (automatically set in Azure) minus the “PasswordChangeDays” set below. If FALSE, guests will never be forced to reset their password.
...
PasswordChangeDays
...
750 is the default
...
Only needed if PasswordExpiredEnabled is True. This setting subtracts the number of days from today’s date to determine how recently users must have changed their password in order not to force a reset. For example, if set to 7, any user who has created their account or reset their password in the past week will not be sent down the password reset flow.
...
NEED SETTING NAME for Terms and Conditions 1 check box appearing
...
Table of Contents |
---|
Setup Checklist
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
1. Planning Tasks | |||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||
2. Infrastructure Tasks | |||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||
3. Identity Tasks | |||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||
4. Commerce Tasks | |||||||||||||||||||||||||||||||||||||
|
|
Prerequisite Tasks
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Planning Tasks
Complete the Identity Implementation Worksheet after meeting with your Aspenware representative to kick off the implementation and send it to your Aspenware representative
Infrastructure Tasks
Set Up Azure Architecture
Identity requires Azure setup to create the web application and database and encryption keys in the Azure Key Vault. The Identity App Service can exist with the App Service Plan that also hosts Commerce and Arrival App Services. The Identity database stores configuration for the Aspenware Identity application. This database can consistently be set to an s3 service level under normal and increased traffic times. One database is used for both production and test.
Identity may be integrated into the same version of Unity utilized by Commerce and Arrival if applicable. The Unity server needs to be able to accept inbound traffic from Identity. Aspenware will work with you on secure measures to ensure required traffic for Identity to work is allowed.
Set Up SSL and DNS
Aspenware also recommends that your resort use a custom domain for the Identity app, such as http://login.yourresort.com. This will also require Secure Sockets Layer (SSL) setup and DNS entry. If you don’t have Aspenware Commerce, you’ll also want to set up a custom FQDN and SSL for Unity as well, Commerce customers will already have SSL and DNS for Unity configured. The process to setup SSL and DNS for Identity will be very similar to the process to configure SSL for Commerce detailed in this guide: https://hub.aspenware.net/main/How-to-generate-.pfx-file-for-new%2Frenewed-SSL-cert.1429471268.html. Work with your Aspenware representative to upload this and also to set up SSL renewal annual reminders.
Set Up Email for Integration
Ensure that you have set up service with your chosen email provider. Sendgrid and Inntopia Marketing Cloud are the only available options for Identity email sending. For information and comparison of Sendgrid and Inntopia Marketing Cloud and for assistance setting up the service in Aspenware Commerce, see the “Email/Tax Service Setup” section in the Ecommerce Setup Checklist. You’ll securely share the required API keys and additional fields to your Aspenware Representative.
Set up GTM for Google Analytics Tracking
COMING SOON!
(Optional) Set Up Twilio for Integration
Although not required, if your resort desires a custom number for Twilio communications, Aspenware is happy to integrate with individual Twilio accounts. For setup, we will need Twilio Account SID, Account API Token, and the From Number. Contact your Aspenware representative for assistance with this. For assistance setting up the service in Aspenware Commerce, see the https://docs.google.com/document/d/1-La2RXLa1pT5wDPTXHiDZ8INpVKNYWLWML6hz261-l4/edit guide. You’ll securely share the required API keys and additional fields to your Aspenware Representative.
(Optional )Marketing Email Opt In/Out
COMING SOON: Identity can be configured to allow guests to opt in to or out of marketing emails as part of the account creation or sign-in process.
(Optional/Restricted)Loyalty Program Enrollment
If you license Aspenware’s Loyalty module within Commerce and Unity, a checkbox can be configured to opt guests into a Loyalty program, updating their loyalty program enrollment status in RTP|One. In order to complete this configuration, please collect the following below and work with your Aspenware representative to implement. Include all the required copy and links. Be sure to include your preference for the default setting (checked or unchecked for each T&C setting.)
Copy for Link and link for modality.Example: Click here to read terms. (embedded link: http://www.mytermsandconditions.com ) The Following can be customized by sending the desired copy to your Aspenware Representative.
Consent Text - i.e. "Enroll in Boyne Rewards."
Consent Link URL - i.e. "https://www.[yourresort].com/terms.html "
Consent Link Text - i.e. "Click here to read terms and conditions."
HINT: The following HTML elements are supported in checkbox labels:
<b> <strong> <i> <em> <a> <span> <p>
href
and the target
attributes on an <a>
tag. This means that <a href=”google.com” target=”_blank”>Google</a>
will render as a working link.
Additionally, <b>
, <strong>
, <i>
, and <em>
can be used to format labels with bold or italics if desired. <p>
and <span>
can be used to break up the content or force line breaks.
Any tags or attributes not listed above will not render. They will be stripped out of the HTML before the content is rendered to the page. This is to ensure that nobody is inserting <script> tags or other elements that could lead to security risks or broken layouts.
The following settings need to be configured as well, depending on how you want the Terms and Conditions features to behave. Again, please let your Aspenware Representative know your preferences and answers to the following settings so we can properly configure your environment.
Do you wish to display this Loyalty enrollment checkbox?
Will there be a link within the text next to checkbox?
Is enrolling required to proceed with account create and/or login?
Should the consent checkbox be pre-selected by default or un-checked?
Note |
---|
IMPORTANT: This should only be enabled if Loyalty is configured for your store. This checkbox will only appear if a customer who is logging in does not already have a |
...
loyalty sign up. By |
...
NEED SETTING NAME for Terms and Conditions 1 check box default as checked/unchecked
...
...
This loyalty sign up checkbox can be set to be enabled by default or disabled by default.
...
NEED SETTING NAME for Terms and Conditions 2 check box appearing
...
...
Can be used for generic terms and condition agreement. If enabled, this checkbox would appear on every login, and would not record the action taken by the guest.
...
NEED SETTING NAME for Terms and Conditions 2 check box default as checked/unchecked
...
...
This Terms and Conditions sign up checkbox can be set to be enabled by default or disabled by default.
Email Template Customization Settings
Both Identity password emails and verification code emails have standard email templates for forgot password emails and account verification emails. Email templates can be customized to include the resort's logo, links to the resort website, resort address in the email footer, and the resort name.
...
Setting
...
Description
...
Specs
...
Resort LogoUrls
...
Web-based URL of logo - this setting determines determines what logo displays in the email.
...
ResortEmailFooters
...
This setting determines what footer text displays in the email.
...
Typically used for address, phone number and/or contact email.
...
ResortNames
...
This setting determines what resort name displays in the email.
...
(i.e. Peak Resort)
...
ResortUrls
...
This setting determines where the user is taken if they click the logo in the email.
...
(i.e. http://aspenware.com )
Create Account/Claim Account Settings
...
Setting
...
Description
...
Specs
...
RequireAccountVerification
...
This setting determines whether a guest will have to receive a verification code via phone or email in order to claim their account.
...
TRUE or FALSE
...
CheckPassMediaForFindUser
...
This setting determines whether a guest can log or claim an account using their pass media #.
...
To allow guests to log in or find their account using pass media, set to TRUE, otherwise, set to FALSE.
...
AgeLimit
...
clicking the box and accepting, the guest would enroll in the program. In subsequent logins, the loyalty program enrollment would not appear. |
Identity Tasks
Settings
The following settings are configurable in Identity and must be set at the Identity client level (configurable per external applications). These cannot be controlled through an Admin interface and must be done by the Aspenware Dev Ops team, contact your Aspenware representative to update these settings.
Required Identity Settings
Setting | Values | Description |
---|---|---|
RequireAccountVerification | True/False | If an account is found, if TRUE, guest will be texted or emailed a code to verify that they are allowed to claim the account, if FALSE, the guest will be able to create an authentication profile on a found account with no verification required. |
CheckPassMediaForFindUser | True/False | If TRUE, guest can login using their pass media or RFID number. If FALSE, login with pass number is disabled. If set to true, there are language strings that should be setup to reflect that this is allowed for guests as well. |
AgeLimit | 13 is the default | Age limit for guests to create accounts |
PasswordExpiredEnabled | True/False | When set to TRUE this setting will enforce a password reset for all users logging in through identity with an RTP password date change of today (automatically set in Azure) minus the “PasswordChangeDays” set below. If FALSE, guests will never be forced to reset their password. |
PasswordChangeDays | 750 is the default | Only needed if PasswordExpiredEnabled is True. This setting subtracts the number of days from today’s date to determine how recently users must have changed their password in order not to force a reset. For example, if set to 7, any user who has created their account or reset their password in the past week will not be sent down the password reset flow. |
Email Template Customization Settings
Both Identity password emails and verification code emails have standard email templates for forgot password emails and account verification emails. Email templates can be customized to include the resort's logo, links to the resort website, resort address in the email footer, and the resort name.
...
Setting | Description | Specs |
---|---|---|
Resort LogoUrls | Web-based URL of logo - this setting determines determines what logo displays in the email. | |
ResortEmailFooters | This setting determines what footer text displays in the email. | Typically used for address, phone number and/or contact email. |
ResortNames | This setting determines what resort name displays in the email. | (i.e. Peak Resort) |
ResortUrls | This setting determines where the user is taken if they click the logo in the email. | (i.e. http://aspenware.com ) |
Language Strings
Most language strings within Identity are configurable. These language strings are updated using a JSON file and will be defined during the implementation process of Identity. Most language strings can retain default values, however, the following language strings are recommended for customization. View a full list of language strings.
...
Description | String Resource | Current Value | Placement |
Several pages | identity.footer.returntologin | Return to login [URL] | Bottom of various identity screensvarious identity screens |
Login | no string | No email profile. | If a user tries to log in and they do not have an email profile, this error is appended to the call services language string. |
---|---|---|---|
Login | no string | No Multiple email profileprofiles. | If a user tries to log in and they do not have an multiple email profileprofiles, this error is appended to the call services language string. |
Login Page Language Strings
...
String Resource | Current Value | Placement |
account.login.description |
no string
Multiple email profiles.
If a user tries to log in and they have multiple email profiles, this error is appended to the call services language string.
Login Page Language Strings
...
String Resource | Current Value | Placement | |
account.login.description | Please sign in or create an account. | Displays beneath page title, is a collapsed and invisible if no text is entered. | |
account.login.signin | Sign In | Displays on top of login page. | |
account.login.loginoptions | Email, Username, or Pass ID | Displays above line where user types in username, email, or pass ID | |
account.login.validation.invalid | Email, Username, or Pass ID is invalid. | Displays beneath username entry field when continue button is selected but no characters entered in username field | |
account.login.validation.callservices | We’ve encountered a problem logging you in. Please contact customer service at ###-###-####. | Displays beneath username entry field when email profile matches up with multiple authIDsPlease sign in or create an account. | Displays beneath page title, is a collapsed and invisible if no text is entered. |
account.login.signin | Sign In | Displays on top of login page. | |
account.login.loginoptions | Email, Username, or Pass ID | Displays above line where user types in username, email, or pass ID | |
account.login.validation.invalid | Email, Username, or Pass ID is invalid. | Displays beneath username entry field when continue button is selected but no characters entered in username field | |
account.login.validation.callservices | We’ve encountered a problem logging you in. Please contact customer service at ###-###-####. | Displays beneath username entry field when email profile matches up with multiple authIDs | |
account.login.callservices.noemailprofile | We’ve encountered a problem logging you in. Please contact customer service at ###-###-####. Error: Account has no email profile. | Displays beneath username entry field when user has a username that is not an email and has no email profile. | |
account.login.newuser | New user? | Displays above login field and below Sign In. | |
account.login.createaccount | Create an account [URL] | Follows “New user?” | |
account.login.password.signin | Sign In |
| |
account.login.password.description | Enter your password below. If you forget your password reset it by selecting 'Reset password' | Displays beneath page title, messaging is collapsed and invisible if no text is entered. | |
account.login.password.password | Password | Displays beneath customer username and above password entry field. | |
account.login.callservices.noemailprofile | We’ve encountered a problem logging you in. Please contact customer service at ###-###-####. Error: Account has no email profile. | Displays beneath username entry field when user has a username that is not an email and has no email profile. | |
account.login.newuser | New user? | Displays above login field and below Sign In. | |
account.login.createaccount | Create an account [URL] | Follows “New user?” | |
account.login.password.signin | Sign In |
| |
account.login.password.description | Enter your password below. If you forget your password reset it by selecting 'Reset password' | Displays beneath page title, messaging is collapsed and invisible if no text is entered. | |
account.login.password.password | Password | Displays beneath customer username and above password entry field. | |
account.login.callservices.noemailprofile | We’ve encountered a problem logging you in. Please contact customer service at ###-###-####. Error: Account has no email profile. | Displays beneath username entry field when user has a username that is not an email and has no email profile. |
Reset Password Page Language Strings
...
...
String Resource
...
Current Value
...
Placement
...
account.forgotpassword.description
...
To reset your password, please enter your email or username and select continue."
...
Displays beneath title, if no description is entered area is collapsed.
...
account.forgotpassword.username
...
Email or username
...
Displays beneath description above entry field.
...
account.forgotpassword.validation.success
...
Success! An email and link for resetting your password has been sent to this address.
...
Displays beneath email.username field after password reset email is sent.
...
account.forgotpassword.validation.invalid
...
Invalid email address, please try again.
...
Displays beneath email.username field if invalid entry.
Create Account Page Language Strings
...
...
String Resource
...
Current Value
...
Placement
...
account.create.createaccount
...
Create an Account
...
This is the heading on top of the
Create Account page.
...
account.create.description
...
Already have an account?
...
Displays beneath page title. Text area is collapsed if no text is entered.
...
account.create.accountexists.signin
...
Sign in [URL]
...
This is the active url after “Already have an account” text.
...
account.create.email
...
...
Reset Password Page Language Strings
...
String Resource | Current Value | Placement |
account.forgotpassword.description | To reset your password, please enter your email or username and select continue." | Displays beneath title, if no description is entered area is collapsed. |
account.forgotpassword.username | Email or username | Displays beneath description above entry field. |
account.forgotpassword.validation.success | Success! An email and link for resetting your password has been sent to this address. | Displays beneath email.username field after password reset email is sent. |
account.forgotpassword.validation.invalid | Invalid email address, please try again. | Displays beneath email.username field if invalid entry. |
Create Account Page Language Strings
...
String Resource | Current Value | Placement | ||
account.create.createaccount | Create an Account | This is the heading on top of the | ||
account.create.description | Already have an account? | Displays beneath page title. Text area is collapsed if no text is entered. | ||
account.create.accountexists.signin | Sign in [URL] | This is the active url after “Already have an account” text. | ||
account.create.email | This is the first line of create account (becomes username; required). | |||
account.create.email.validation | Field is required. | Displays validation response if email is not entered. | ||
account.create.firstname | First Name | This is the second line of create account (required). | ||
account.create.firstname.validation | Field is required. | Displays validation response if first name is not entered. | ||
account.create.lastname | Last Name | This is the same line as First Name (required). | ||
account.create.lastname.validation | Field is required. | Displays validation response if last name is not entered. | ||
account.create.dateofbirth | Date of Birth | This is third line of create account (required). | ||
account.create.dateofbirth.validation | Field is required. | Displays validation response if DOB is not entered. | ||
account.create.phone | Phone | This is the fourth line of create account (required). | ||
account.create.phone.validation | Field is required. | Displays validation response if phone number is not entered. | ||
account.create.postalcode | Postal Code | This is the fifth line of create account (required). | ||
account.create.emailpostalcode.validation | Field is required. | Displays validation response if email postal code is not entered. | ||
account.create.firstnamepassword | First NamePassword | This is the second sixth line of create account (required). | ||
account.create.firstnamepassword.validation | Field is required. | Displays validation response if first name password is not entered. | ||
account.create.lastnameconfirmpassword | Last NameConfirm Password | This is the same line as First Name seventh line of create account (required). | ||
account.create.lastnameconfirmpassword.validation | Field is required. | Displays validation response if last name confirm password is not entered. | ||
account.create.validation | Unable to create .dateofbirth | Date of Birth | This is third line of create account (required)account. | Displays beneath “Create” button if account cannot be created. Hard coded meaningful message will display appended. |
account.create.informationmissing | We found you but additional information is required to create an account. Please contact ###-###-#### or email ___@ ___.com to recover your account | Displays below email field. | ||
account.create. | dateofbirth.validationField is required. | Displays validation response if DOB is not entered. | ||
account.create.phone | Phone | This is the fourth line of create account (required). | ||
account.create.phone.validation | Field is required. | Displays validation response if phone number is not entered. | ||
account.create.postalcode | Postal Code | This is the fifth line of create account (required). | ||
account.create.postalcode.validation | Field is required. | Displays validation response if postal code is not entered. | ||
account.create.password | Password | This is the sixth line of create account (required). | ||
account.create.password.validation | Field is required. | Displays validation response if password is not entered. | ||
account.create.confirmpassword | Confirm Password | This is the seventh line of create account (required). | ||
account.create.confirmpassword.validation | Field is required. | Displays validation response if confirm password is not entered. | ||
account.create.validation | Unable to create account. | Displays beneath “Create” button if account cannot be created. Hard coded meaningful message will display appended. | ||
account.create.informationmissing | We found you but additional information is required to create an account. Please contact ###-###-#### or email ___@ ___.com to recover your account | Displays below email field. | ||
account.create.underage | You must be {0} years of age to register. | Displays below email field. |
Claim Account Language Strings
...
underage | You must be {0} years of age to register. | Displays below email field. |
Claim Account Language Strings
...
Description | String Resource | Current Value | Placement |
Claim Account → Select Account page | account.claim.selectaccount | Select Account | Title displays at top page. |
Claim Account → Select Account page | account.claim.description | We found two or more accounts that match information you entered. Please select an account to continue. | Description displays beneath title. If no text is entered, this text box will collapse. |
Claim Account → Select Account page | account.claim.select | Select Account | Displays beneath description and above selection dropdown. |
Description | String Resource | Current Value | Placement |
Claim Account → Verify Account page | account.claim.verify | Verify Account | Title displays at top of page. |
Claim Account → Verify Account page | account.claim.verify.description | We found a matching account. Please select a delivery method for your verification code. | Description displays beneath title. If no text is entered, this text box will collapse. |
Claim Account → Verify Account page | account.claim.select | Select Account | Displays beneath description and above selection dropdown. |
Description | String Resource | Current Value | Placement |
Claim Account → Verify Code page | account.claim.verifycode.verifycode | Verify Code | Title displays at the top of page. |
Claim Account → Verify Code page | account.claim.verifycode.description | Please enter the code that was sent to your account. | Description displays beneath title. If no text is entered, text box collapses. |
Claim Account → Verify Code page | account.claim.verifycode.verificationcode | Verification Code | Displays beneath description and above verification code text entry field. |
Description | String Resource | Current Value | Placement |
Claim Account → |
Create Login page | account.claim. |
createlogin |
Create Login | Title displays at the top of page |
Claim Account → |
Create Login page | account.claim.createlogin.description |
Your account has been verified. Please enter email and establish password to claim your account and login. | Description displays beneath title. If no text is entered, |
text box |
collapses. |
Claim Account → |
Create Login page | account.claim.createlogin.email | Email (Username) | Displays beneath description and above email (username) entry field. |
Claim Account → Create Login page | account.claim |
Select Account
Displays beneath description and above selection dropdown.
Description
String Resource
Current Value
Placement
.createlogin.password | Password | Displays beneath email and above password entry field. | |
Claim Account → Create Login page | account.claim.createlogin.confirmpassword | Confirm Password | Displays beneath password and above confirm password entry field. |
Claim Account → Create Login page | account.claim.createlogin.password. |
Verify Account
strongpassword | Password must contain at least 6 characters, a lower case character, an upper case character, at least one digit, and a non-alphanumeric character. | Displays beneath password entry field. |
Claim Account → |
Create Login page | account.claim. |
We found a matching account. Please select a delivery method for your verification code.
createlogin.password.required | Password required. | Displays in red beneath password entry field if no password is entered. |
Claim Account → |
Create Login page | account.claim. |
createlogin.confirmpassword.required | Confirm password required. | Displays |
Description
String Resource
Current Value
Placement
in red beneath confirm password entry field if no confirm password is entered. | |
Claim Account → Create Login page | account.claim.createlogin. |
password. |
Verify Code
match | Confirm password must match password. | Displays in red beneath confirm password entry field if passwords do not match. |
Claim Account → |
Create Login page | account. |
setprofile. |
enterpassword | Please |
Description displays beneath title. If no text is entered, text box collapses.
Claim Account → Verify Code page
account.claim.verifycode.verificationcode
Verification Code
Displays beneath description and above verification code text entry field.
fill in your information below to claim your account. |
|
Force Password Reset (Only if setting PasswordExpirationEnabled is true) Language Strings
...
String Resource | Current Value | Placement |
account.login.resetpassword | Reset password | Displays at bottom of login page |
account. |
forgotpassword. |
forgotpassword |
Create Login
Title displays at the top of page
Forgot Password | Displays top of reset password page |
account. |
forgotpassword. |
description |
Your account has been verified. Please enter email and establish password to claim your account and login.
Description displays beneath title. If no text is entered, text box collapses.
Claim Account → Create Login page
account.claim.createlogin.email
Email (Username)
Displays beneath description and above email (username) entry field.
Claim Account → Create Login page
account.claim.createlogin.password
Password
Displays beneath email and above password entry field.
Claim Account → Create Login page
account.claim.createlogin.confirmpassword
Confirm Password
Displays beneath password and above confirm password entry field.
Claim Account → Create Login page
account.claim.createlogin.password.strongpassword
Password must contain at least 6 characters, a lower case character, an upper case character, at least one digit, and a non-alphanumeric character.
Displays beneath password entry field.
Claim Account → Create Login page
account.claim.createlogin.password.required
Password required.
Displays in red beneath password entry field if no password is entered.
Claim Account → Create Login page
account.claim.createlogin.confirmpassword.required
Confirm password required.
Displays in red beneath confirm password entry field if no confirm password is entered.
Claim Account → Create Login page
account.claim.createlogin.password.match
Confirm password must match password.
Displays in red beneath confirm password entry field if passwords do not match.
Claim Account → Create Login page
account.setprofile.enterpassword
Please fill in your information below to claim your account.
Force Password Reset (Only if setting PasswordExpirationEnabled is true) Language Strings
...
String Resource | Current Value | Placement | |
account.login.resetpassword | Reset password | Displays at bottom of login page | |
account.forgotpassword.forgotpassword | Forgot Password | Displays top of reset password page | |
account.forgotpassword.description | To reset your password, please enter your email or username and select continue." | Displays beneath title, if no description is entered area is collapsed. | |
account.forgotpassword.username | Email or username | Displays beneath description above entry field. | |
account.forgotpassword.validation.success | Success! An email and link for resettning your password has been sent to this address. | Displays beneath email.username field after password reset email is sent. | |
account.forgotpassword.validation.invalid | Invalid email address, please try again. | Displays beneath email.username field if invalid entry. | |
account.resetpassword.resetpassword | Reset Password | Title displays when user taken from email link to reset password page. | |
account.resetpassword.description | Please enter and confirm password below. | Description displays beneath reset password title, if no text is entered, description box collapses. | |
account.resetpassword.password | Password | Displays beneath description above password field. | |
account.resetpassword.confirmpassword | Confirm Password | Displays above confirm password field. | |
account.resetpassword.validation.invalid | Password must contain at least 6 characters, a lower case character, an upper case character, at least one digit, and a non-alphanumeric character. | Displays beneath password fields if entry is invalid. | |
account.passwordexpired.passwordexpired | Password Expired | ||
account.passwordexpired.description | Your current account password has expired. To reset your password, please enter your email or username and select continue." | Displays beneath title, if no description is entered area is collapsed. | |
account.forgotpasswordpasswordexpired.username | Email or usernameDisplays beneath description above entry field.username | ||
account.forgotpasswordpasswordexpired.validation.success | Success! An email and link for resettning resetting your password has been sent to this address. | Displays Message appears beneath email.username field after password user email entry if reset email is sent successfully. | |
account.forgotpasswordpasswordexpired.validation.invalid | Invalid email address, please try again. | Displays Message appears beneath user email .username field if invalid entry . | |
account.resetpassword.resetpassword | Reset Password | Title displays when user taken from email link to reset password page. | |
account.resetpassword.description | Please enter and confirm password below. | Description displays beneath reset password title, if no text is entered, description box collapses. | |
account.resetpassword.password | Password | Displays beneath description above password field. | |
account.resetpassword.confirmpassword | Confirm Password | Displays above confirm password field. | |
account.resetpassword.validation.invalid | Password must contain at least 6 characters, a lower case character, an upper case character, at least one digit, and a non-alphanumeric character. | Displays beneath password fields if entry is invalid. | account.passwordexpired.passwordexpired | Password Expired | account.passwordexpired.description | Your current account password has expired. To reset your password, please enter your email or username and select continue. | account.passwordexpired.username | Email or username |
account.passwordexpired.validation.success | Success! An email and link for resetting your password has been sent to this address. | Message appears beneath user email entry if reset email sent successfully. | |
account.passwordexpired.validation.invalid | Invalid email address, please try again. | Message appears beneath user email entry if reset email unable to be sent. |
Detailed Setup Guide
1. Configure Theming for Identity
When using Identity, your client folder will include a background image and your logo image. Horizontal logo images are recommended when using the Identity application. In addition to language strings (listed above), the following components may be configured by resorts upon implementing Identity. All other UI features default to the application.
Info |
---|
NOTE: In a multi-store environment, the following can be customized per storefront. |
Background
Background Image
Background Overlay (for text readability)
Logo (long and wide logos work best)
Logo URL
Logo Sizes for Mobile, Tablet and Desktop
Primary Color (Buttons, Mobile Header Bar)
Button Details
Button Color
Button Radius (rounding)
Button Hover Color
Button Font Weight (Bold, Normal, etc)
Button Font Size
Button Letter Spacing
Font Details
Heading Font Color
Body Font Color
Link Font Color
Link Hover Font Color
A single custom font can be supported for those who use CSS to import their custom fonts. Font customizations will apply to the Identity application, but the email font will be standardized as Helvetica for all customers. Supply the font URL to your Aspenware Representative, similar to the example below:
Note |
---|
IMPORTANT: At this time fonts are not customizable for those who use Javascript to import their custom fonts. When custom fonts are not available, Identity will use Helvetica and Arial if the browser doesn’t support Helvetica. Also note that only a single font is supported for Identity, so if headers and body copy require different font libraries, this is not supported today. |
...
if reset email unable to be sent. |
Identity Theming
When using Identity, your client folder will include a background image and your logo image. Horizontal logo images are recommended when using the Identity application. In addition to language strings (listed above), the following components may be configured by resorts upon implementing Identity. All other UI features default to the application.
Info |
---|
NOTE: In a multi-store environment, the following can be customized per storefront. |
Background
Background Image
Background Overlay (for text readability)
Logo (long and wide logos work best)
Logo URL
Logo Sizes for Mobile, Tablet and Desktop
Primary Color (Buttons, Mobile Header Bar)
Button Details
Button Color
Button Radius (rounding)
Button Hover Color
Button Font Weight (Bold, Normal, etc)
Button Font Size
Button Letter Spacing
Font Details
Heading Font Color
Body Font Color
Link Font Color
Link Hover Font Color
A single custom font can be supported for those who use CSS to import their custom fonts. Font customizations will apply to the Identity application, but the email font will be standardized as Helvetica for all customers. Supply the font URL to your Aspenware Representative, similar to the example below:
Note |
---|
IMPORTANT: At this time fonts are not customizable for those who use Javascript to import their custom fonts. When custom fonts are not available, Identity will use Helvetica and Arial if the browser doesn’t support Helvetica. Also note that only a single font is supported for Identity, so if headers and body copy require different font libraries, this is not supported today. |
Install and Enable the Identity Plugin in Aspenware Commerce
Note |
---|
IMPORTANT: If you plan on using Aspenware Commerce’s Identity plugin, be sure to notify Aspenware that you will need it included as part of your release. |
To begin using Identity, you must install, configure, and activate the Identity plugin. To do so, follow the steps below:
Find and install the Identity Plugin
In the Aspenware Commerce admin panel go to Configuration > Local Plugins
Search the list for ExternalAuth Methods : Identity Authentication
Select Install.
Once installation is complete, select Restart application to apply changes at the top of the page.
Info |
---|
NOTE: This restart can take up to 7 minutes to complete and should occur during low-traffic times. |
Configure Identity External Authentication
Go to Configuration > External Authentication
If the Identity plugin has been successfully installed you will see it on the admin screen.
Select Configure.
Enter your OpenID, ClientID, and OpenID ClientSecret (these are created and provided by Aspenware).
In the Authority to use when connecting to OpenID field enter the web address (URL) that will be using Identity.
Select Save.
Return to the External Authentication Admin page and select Edit.
Select the check box under the Is active column then select Update.
(Optional) Configure Multiple Store-Fronts and Identity
Aspenware Commerce can be configured to have multiple store-fronts operating from a single backend admin instance, where product configuration for the shop is done. Each storefront can have its own look and feel, language strings, custom domain, settings, products, and more. Similarly, Identity can be configured to work with multiple storefronts. A single instance of Identity can also be configured to work with multiple completely separate Aspenware Commerce stores, so that if you are logged in to one store you are logged into others, however, there are some limitations around what can be customized across store-fronts or unique shops for Identity.
...
Other limitations include language strings, if two stores are operating out of a single Aspenware Commerce Instance, i.e. they share an admin backend, then they can have unique branding, but the language strings must remain the same across the stores. If two stores use the same Identity but have separate Aspenware Commerce admin instances, they can have unique brands AND language strings. For example, Boyne Mountain and Boyne Highlands, sister resorts in Michigan also use the same Identity as the other Boyne Resorts (http://id.boyneresorts.com ), however, these two storefronts share a single Aspenware Commerce Admin, so the Identity language strings for these two store-fronts are shared. In the image below, the items in yellow are shared across the store front’s views of identity, and the items in blue are unique.
...
3. Complete Customization Checklist and Send to Aspenware Representative
Use this checklist when customizing the Identity theme to ensure all steps are completed.
...
Task
...
Optional/Required
...
Status
...
Send background image, logo and button color(s) to Aspenware representative.
...
Status | ||||
---|---|---|---|---|
|
...
Send email logo, footer content, and URL to link to in email to Aspenware representative.
...
Status | ||||
---|---|---|---|---|
|
...
Send any language customizations to Aspenware representative.
...
other Boyne Resorts (http://id.boyneresorts.com ), however, these two storefronts share a single Aspenware Commerce Admin, so the Identity language strings for these two store-fronts are shared. In the image below, the items in yellow are shared across the store front’s views of identity, and the items in blue are unique.
...
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
...