Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

1. 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.

    Status
    colourRed
    titleRequired

Status
colourYellow
titlePrerequisite

2. Infrastructure Tasks

  • Set Up Azure Architecture

    Status
    colourRed
    titleRequired

  • Set Up SSL and DNS for Identity URL

    Status
    colourRed
    titlerequired

  • Set Up Email for Integration

    Status
    colourRed
    titlerequired

  • Add your GTM ID for Google Analytics tracking and configure GTM according to documentation (coming soon)

    Status
    colourBlue
    titleoptional

  • Set Up Twilio for Integration

    Status
    colourBlue
    titleoptional

  • Terms and Conditions configuration

    Status
    colourBlue
    titleoptional

Status
colourYellow
titlePrerequisite

3. Identity Tasks

  • Configure Settings and Language Strings

    Status
    colourRed
    titlerequired

    • 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
colourYellow
titlePrerequisite

  • Configure Theming for Identity

    Status
    colourRed
    titleRequired

  • Configure Multiple Store-Fronts and Identity

    Status
    colourBlue
    titleoptional

Status
colourYellow
titlePREREQUISITE

4. Commerce Tasks

  • Install and Enable the Identity Plugin in Aspenware Commerce

    Status
    colourRed
    titlerequired

  • Enable reCAPTCHA for the Identity Plugin (optional)

    Status
    colour

Yellow
  • Blue
    titleoptional

Status
colourGreen
titlePREREQUISTEdetailed setup

Prerequisite Tasks

Insert excerpt
Prerequisites Tasks Excerpt
Prerequisites Tasks Excerpt
nopaneltrue

...

Aspenware also recommends that your resort use a custom domain for the Identity app, such as IIS Windows Server. 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 set up 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. for new/renewed SSL cert. Work with your Aspenware representative to upload this and also to set up SSL renewal annual reminders.

...

Although not required, if your resort desires a custom number for Twilio communications, Aspenware can 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 Setting Up Twilio. You’ll securely share the required API keys and additional fields with your Aspenware Representative.

...

Contact your Aspenare Representative to discuss implementing this feature.

  • (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: Home - My Terms and Conditions ) 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:

...

Determine the following configuration options:

  1. Should the checkbox be unchecked by default forcing the guest to check the box to receive marketing emails, or should the checkbox be preselected forcing the guest to uncheck the box if they do not want to receive marketing emails.

  2. What do you want the copy to be? By default, it reads “Opt into marketing emails.”

Code Block
{
    "STORE URL GOES HERE(do not include protocol ie: https://)": [
        {
            "id": 1,
            "isConsented": false,
            "isConsentedDefaut": true,
            "showCheckBox": true,
            "showConsentText": true,
            "showConsentLink": false,
            "checkedRequired": false,
            "consentText": "Opt into marketing emails",
            "consentLinkUrl": "empty",
            "consentLinkText": "empty",
            "customApiActions": [
                {
                    "customApiActionTypeId": 3,
                    "apiUrl": "",
                    "apiHeaders": {},
                    "apiPostPayload": {}
                },
                {
                    "customApiActionTypeId": 4,
                    "apiUrl": "",
                    "apiHeaders": {},
                    "apiPostPayload": {}
                }
            ]
        }
    ]
}

  • (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: Home - My Terms and Conditions ) 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.

    1. Do you wish to display the Loyalty enrollment checkbox?

    2. Will there be a link within the text next to the checkbox?

    3. Is enrolling required to proceed with Create Account and/or Login?

    4. Should the consent checkbox be pre-selected by default or un-checked?

Note

IMPORTANT: These checkboxes 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 clicking the box and accepting, the guest would enroll in the program. In subsequent logins, the loyalty program enrollment would not appear.

...

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 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.
Error: var message = string.Empty;            if(account.Status == "UserAccountExistsWithNoEmail")            {                message = "Missing email profile.";            }else if(account.Status

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.
Error: var message = string.Empty;            if(account.Status == "UserAccountExistsWithNoEmail")            {                message = "Missing email profile.";            }else if(account.Status

account.create.informationmissing

We found your account .Statusbut DOB information to claim it is missing. Please contact us to help claim your account.

Displays on login when a guest does not have a DOB defined in the POS.

Reset Password Page Language Strings

...

validation

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

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.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 enteredis 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.

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. By adding {0} into the language string, it will be replaced with the Age Limit

Claim Account Language Strings

...

underage

You must be {0} years of age to register.

Displays below email field. By adding {0} into the language string, it will be replaced with the Age Limit

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 →

Select

Verify Account page

account.claim.

selectaccount

verify

Select

Verify Account

Title displays at top of page.

Claim Account →

Select

Verify Account page

account.claim.verify.description

We found

two or more accounts that match information you entered

a matching account. Please select

an account to continue

a delivery method for your verification code.

Description displays beneath title. If no text is entered, this text box will collapse.

Claim Account →

Select

Verify Account page

account.claim.select

Select Account

Displays beneath description and above selection dropdown.

Description

String Resource

Current Value

Placement

Claim Account → Verify

Account

Code page

account.claim.verifycode.

verify

verifycode

Verify

Account

Code

Title displays at the top of page.

Claim Account → Verify

Account

Code page

account.claim.

verify

verifycode.description

We found a matching account. Please select a delivery method for your verification code

Please enter the code that was sent to your account.

Description displays beneath title. If no text is entered,

this

text box

will collapse

collapses.

Claim Account → Verify

Account

Code page

account.claim.

selectSelect Account

verifycode.verificationcode

Verification Code

Displays beneath description and above

selection dropdown

verification code text entry field.

Description

String Resource

Current Value

Placement

Claim Account →

Verify Code

Create Login page

account.claim.

verifycode.verifycodeVerify Code

createlogin

Create Login

Title displays at the top of page

.

Claim Account →

Verify Code

Create Login page

account.claim.

verifycode

createlogin.description

Your account has been verified. Please enter

the code that was sent to

email and establish password to claim your account and login.

Description displays beneath title. If no text is entered, text box collapses.

Claim Account →

Verify Code

Create Login page

account.claim.

verifycode

createlogin.

verificationcodeVerification Code

email

Email (Username)

Displays beneath description and above

verification code text

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

email (username) entry field.

Description

String Resource

Current Value

Placement

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

Create Login

Title displays at the top of pageConfirm Password

Displays beneath password and above confirm password entry field.

Claim Account → Create Login page

account.claim.createlogin.password.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.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.emailEmail (Username)required

Password required.

Displays beneath description and above email (username) entry fieldin red beneath password entry field if no password is entered.

Claim Account → Create Login page

account.claim.createlogin.confirmpassword.required

Confirm password required.

Password

Displays in red beneath email and above confirm password entry field if no confirm password is entered.

Claim Account → Create Login page

account.claim.createlogin.confirmpasswordpassword.match

Confirm Passwordpassword must match password.

Displays in red beneath password and above 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 .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

...

your account.

 

Force Password Reset (Only if setting PasswordExpirationEnabled is true) Language Strings

...

...

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 )

(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.

If using the same Identity across multiple storefronts and/or stores, the custom URL across the single instance of Identity must remain constant. For example, Boyne Resorts uses a single Identity across all of its 7 resorts, so http://shop.bigskyresort.com redirects to http://id.boyneresorts.com but guests coming to this page from the Big Sky shop or Arrival see a Big Sky branded experience and language strings that correspond to Big Sky.

...

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.

...

Commerce Tasks

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

    1. In the Aspenware Commerce admin panel go to Configuration > Local Plugins

    2. Search the list for ExternalAuth Methods : Identity Authentication

      Image Removed
    3. Select Install.

    4. 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

    1. Go to Configuration > External Authentication

      1. If the Identity plugin has been successfully installed you will see it on the admin screen.
         

        Image Removed
    2. Select Configure.

      1. Enter your OpenID, ClientID, and OpenID ClientSecret (these are created and provided by Aspenware).

        Image Removed
      2. In the Authority to use when connecting to OpenID field enter the web address (URL) that will be using Identity.

      3. Select Save.

    3. Return to the External Authentication Admin page and select Edit.

      1. Select the check box under the Is active column then select Update.

        1. Image Removed

...

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.

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.

String Resource

Current Value

Placement

account.lockout.remainingattempts

(NOTE: This string is for the number of login attempts remaining before the user is locked out.)

You have {0} remaining attempts.

(NOTE: Be sure to include the {0}, as it is the placeholder token for the number of remaining attempts.)

Image Removed

account.lockout.lockedout

(NOTE: This is a message notifying the user that they will be locked out for X minutes.)

Your account has been locked for {0}.

(NOTE: Be sure to include the {0}, as it is the placeholder token for the number of minutes.)

Image Removed

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.

  1. Background

    1. Background Image

    2. Background Overlay (for text readability)

  2. Logo (long and wide logos work best)

    1. Logo URL

    2. Logo Sizes for Mobile, Tablet, and Desktop

  3. Primary Color (Buttons, Mobile Header Bar)

  4. Button Details

    1. Button Color

    2. Button Radius (rounding)

    3. Button Hover Color

    4. Button Font Weight (Bold, Normal, etc)

    5. Button Font Size

    6. Button Letter Spacing

  5. Font Details

    1. Heading Font Color

    2. Body Font Color

    3. Link Font Color

    4. Link Hover Font Color

    5. 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:

      Image Removed
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 using different font libraries for headers and body copy is not currently supported.

Email Template Customization

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.

entry if reset email unable to be sent.

String Resource

Current Value

Placement

account.lockout.remainingattempts

(NOTE: This string is for the number of login attempts remaining before the user is locked out.)

You have {0} remaining attempts.

(NOTE: Be sure to include the {0}, as it is the placeholder token for the number of remaining attempts.)

Image Added

account.lockout.lockedout

(NOTE: This is a message notifying the user that they will be locked out for X minutes.)

Your account has been locked for {0}.

(NOTE: Be sure to include the {0}, as it is the placeholder token for the number of minutes.)

Image Added

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.

  1. Background

    1. Background Image

    2. Background Overlay (for text readability)

  2. Logo (long and wide logos work best)

    1. Logo URL

    2. Logo Sizes for Mobile, Tablet, and Desktop

  3. Primary Color (Buttons, Mobile Header Bar)

  4. Button Details

    1. Button Color

    2. Button Radius (rounding)

    3. Button Hover Color

    4. Button Font Weight (Bold, Normal, etc)

    5. Button Font Size

    6. Button Letter Spacing

  5. Font Details

    1. Heading Font Color

    2. Body Font Color

    3. Link Font Color

    4. Link Hover Font Color

    5. 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:

      Image Added
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 using different font libraries for headers and body copy is not currently supported.

Email Template Customization

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 )

(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.

If using the same Identity across multiple storefronts and/or stores, the custom URL across the single instance of Identity must remain constant. For example, Boyne Resorts uses a single Identity across all of its 7 resorts, so http://shop.bigskyresort.com redirects to http://id.boyneresorts.com but guests coming to this page from the Big Sky shop or Arrival see a Big Sky branded experience and language strings that correspond to Big Sky.

...

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.

...

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

    1. In the Aspenware Commerce admin panel go to Configuration > Local Plugins

    2. Search the list for ExternalAuth Methods : Identity Authentication

      Image Added
    3. Select Install.

    4. 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

    1. Go to Configuration > External Authentication

      1. If the Identity plugin has been successfully installed you will see it on the admin screen.
         

        Image Added
    2. Select Configure.

      1. Enter your OpenID, ClientID, and OpenID ClientSecret (these are created and provided by Aspenware).

        Image Added
      2. In the Authority to use when connecting to OpenID field enter the web address (URL) that will be using Identity.

      3. Select Save.

    3. Return to the External Authentication Admin page and select Edit.

      1. Select the check box under the Is active column then select Update.

        1. Image Added

2. Enable reCAPTCHA for the Identity Plugin (optional)

The reCAPTCHA v3 API helps resorts detect abusive traffic without user interaction. Instead of showing a CAPTCHA challenge (as with older versions), reCAPTCHA v3 returns a score. Resorts can then choose the most appropriate action for their websites according to this score. Because scores are determined by monitoring user interaction on your site, Aspenware recommends implementing reCAPTCHA as soon as possible (and across all available interactions) to begin site monitoring. In addition to disabling such monitoring at any time, reCAPTCHA v3 thresholds can also be adjusted in the reCAPTCHA admin dashboard to be more or less tolerant of risky activities and related actions. See below for instructions on how to enable reCAPTCHA v3 on Aspenware Identity.

In order to use reCAPTCHA v3 you will need to register your site and get your reCAPTCHA public and private keys.

...

  • Work with your Aspenware Representative (support@aspenware.com) to configure reCAPTCHA for Identity. You will need to provide them with the following THREE configuration elements:

    • 1. Site Key and Secret Key you obtained from Google upon adding reCAPTCHA.

      Image Added
    • 2. The desired locations on which you would like reCAPTCHA v3 to monitor. Options include Create Account, Login, Recover Account, Password Reset and Claim Account. Aspenware recommends resorts enable reCAPTCHA v3 to all locations for the maximum benefit.

    • 3. The ReCaptcha v3 Score Threshold number to begin monitoring your site.

Info

NOTE: reCAPTCHA learns by seeing real traffic on your site. For this reason, scores in a staging environment or soon after implementing may differ from production. As reCAPTCHA v3 doesn't ever interrupt the user flow, you can first run reCAPTCHA without taking action and then decide on thresholds by looking at your traffic in the admin console. The recommended default threshold setting is 0.5. A threshold of 1 will ensure that NO ACTION is ever taken.

In general, the best score a user can get is a 1 and the worst (almost certainly a bot) is a zero. If a user scores below the threshold, the selection made in your admin dashboard will determine the action taken. For more information on assessment scores thresholds visit Google’s reCAPTCHA documentation.

...