Manage Account Security screen (v2) CSS
This screen appears after a user clicks Account Security on the manageProfile screen.
You can also display a Back to App button on this screen by including the redirect_uri parameter when opening the user profile. For example:
https://v1.api.us.janrain.com/e0a70b4f-1eef-4856-bcdb-f050fee66aae/auth-ui/profile?client\_id=70a45721-c6ef-4d7c-91ff-f14e9346b8b6&redirect\_uri=https://identitydocs.akamai.com
If the user clicks the Back to App button, he or she is sent to the URL specified by the redirect_uri parameter.
The Back to App button (available only in Hosted Login v2), looks like this:
See [Add custom CSS stylesheets for information on overriding the default CSS settings.
Login page HTML
<div style="display:none;" id="manageProfile\_security" class="screen">
<div class="manage-screen content-wrapper">
<div class="profile-header-actions">
<div class="return-to-app-container">
</div>
<div class="logout-container">
<button type="button" class="aic-control logout" data-action="logout">{* textLogout *}</button>
</div>
</div>
<div class="profile-header">
<div class="profile-header-image user-photo-container" data-render-user-photo="large"></div>
<div class="profile-header-text">
<h1>{* dataDisplayName *}</h1>
<h3>{* dataEmailAddress *}</h3>
</div>
</div>
<h1 class="screen-heading">{* textAccountScreensHeading *}</h1>
<div class="profile-management-container profile-security">
<div class="profile-management-card large">
<div class="card-heading aic-control" data-render-screen="manageProfile">
<h1><span class="chevron left"></span><span class="profile-preferences card-icon"></span>{* textAccountSecurity *}</h1>
</div>
<div class="card-body">
<section class="profile">
<article class="email">
<div id="profileEmail" class="profile-card">
<div class="profile-show">
<h2>Email Address</h2>
<p class=" profile-preferences card-icon " id="existingEmail">
gmstemp@hotmail.com
<span class="verified-identifier" id="verifiedEmail">{* textEmailVerified *}</span>
</p>
</div>
<div class="profile-actions">
<div class="profile-action-icons" data-group="profileEmailAction">
<button type="button" class="aic-icon icon-edit" value="edit"></button>
</div>
</div>
</div>
<div id="profileEmailAction" class="action-card">
<aside class="profile-action-icons" data-group="profileEmailAction">
<button type="button" value="close" class="aic-icon icon-subtract"></button>
</aside>
<div id="containerChangeEmailForm" class="edit add">
<h2>{* textChangeEmailTitle *}</h2>
<p class="action-description">{* textChangeEmailFormValue *}</p>
<label for="changeEmailInput">{* textEmailLabel *}</label>
<p>
<input id="changeEmailInput" name="changeEmailInput" value="" type="text" class="aic-input"
placeholder="{* textChangeEmailPlaceholder *}" data-action="submitRequestChangeEmail"
data-initialize="gmstemp@hotmail.com">
</p>
<div id="errorChangeEmail"><p></p></div>
<button type="submit" id="submitRequestChangeEmailButton" class="aic-control" data-action="submitRequestChangeEmail">{* textChangeEmailSubmit *}</button>
</div>
<div id="containerChangeEmailConfirm">
<h2>{* textChangeEmailConfirmTitle *}</h2>
<p class="action-description">{* textChangeEmailConfirmValue *} <a id="changeEmailSentTo"></a
</p>
<p><label>{* textChangeEmailCodeLabel *}</label></p>
<p>
<input id="secondFactorCodeChangeEmailInput" value="" type="text" class="aic-input"
placeholder="{* textChangeEmailCodePlaceholder *}" data-action="submitChangeEmailCode">
</p>
<button type="submit" id="submitChangeEmailCodeButton" class="aic-control" data-action="submitChangeEmailCode">{* textChangeEmailCodeCodeSubmit *}</button>
<div id="resendCodeSecondFactorChangeEmail">
<p>{* textSecondFactorChangeEmailCodeResend *}
<a href=""view-source%3Ahttps%3A//v1.api.us.janrain.com/e0a70b4f-1eef-4856-bcdb-f050fee66aae/auth-ui/v2/login?\_\_aic\_csrf=fo3YXieocsFVRsd\_&client\_id=64430515-01ea-4f5d-82e4-c36161af0093&code\_challenge=qsPq1vY\_27mtHgxHIiIdBg6LTMGOz1OipZM2Ynn9ETA&code\_challenge\_method=S256&prompt=login&redirect\_uri=https%3A%2F%2Foidc-playground.akamai.com%2Fredirect\_uri&response\_type=code&scope=openid&state=XGW3\_EvXQQ5RqYgGqXYpMMrbFJYpXpPapBX7dvQ0ywo" style="color: rgb(149, 79, 114);text-decoration: underline;">#" class="aic-control" data-action="resendChangeEmailCode">
{* textSecondFactorChangeEmailCodeSendLink *}
</a>
</p>
</div>
<div id ="resendCodeSecondFactorChangeEmailInvalid">
<p class="aic-error">{* textSecondFactorChangeEmailCodeResendInvalid *}
<a href=""view-source%3Ahttps%3A//v1.api.us.janrain.com/e0a70b4f-1eef-4856-bcdb-f050fee66aae/auth-ui/v2/login?\_\_aic\_csrf=fo3YXieocsFVRsd\_&client\_id=64430515-01ea-4f5d-82e4-c36161af0093&code\_challenge=qsPq1vY\_27mtHgxHIiIdBg6LTMGOz1OipZM2Ynn9ETA&code\_challenge\_method=S256&prompt=login&redirect\_uri=https%3A%2F%2Foidc-playground.akamai.com%2Fredirect\_uri&response\_type=code&scope=openid&state=XGW3\_EvXQQ5RqYgGqXYpMMrbFJYpXpPapBX7dvQ0ywo" style="color: rgb(149, 79, 114);text-decoration: underline;">#" class="aic-control aic-error" data-action="resendChangeEmailCode">
{* textSecondFactorChangeEmailCodeSendLinkInvalid *}
</a>
</p>
</div>
</div>
<div id="containerChangeEmailSuccess">
<p class="aic-success">{* textChangeEmailCodeCodeSuccess *}</p>
</div>
</div>
</article>
<article class="phone">
<div id="profilePhone" class="profile-card">
<div class="profile-show">
<h2>{* textMobileNumberTitle *}</h2>
</div>
<div class="profile-actions">
<aside class="profile-action-icons" data-group="profilePhoneAction">
<button type="button" class="aic-icon icon-add" value="add"></button>
</aside>
</div>
</div>
<div id="profilePhoneAction" class="action-card">
<aside class="profile-action-icons" data-group="profilePhoneAction">
<button type="button" value="close" class="aic-icon icon-subtract"></button>
</aside>
<div id="containerChangeMobileNumberForm" class="edit add">
<h2>{* textAddMobileNumberTitle *}</h2>
<p class="action-description">{* textChangeMobileNumberFormValue *}</p>
<label>{* textMobileNumberLabel *}</label>
<p>
<input id="changeMobileNumberInput" class="aic-input"
type="tel" value="" name="changeMobileNumberInput"
placeholder="{* textChangeMobileNumberPlaceholder *}"
data-action="submitRequestChangeMobileNumber"
data-initialize="">
</p>
<div id="errorChangeMobileNumber"><p></p></div>
<button type="submit" id="submitRequestChangeMobileNumberButton" class="aic-control" data-action="submitRequestChangeMobileNumber">{* textChangeMobileNumberSubmit *}</button>
</div>
<div id="containerChangeMobileNumberConfirm">
<h2>{* textChangeMobileNumberConfirmTitle *}</h2>
<p class="action-description">
{* textChangeMobileNumberConfirmValue *}
<span class="phone-group">
<span class="codesentto-tel-flag"></span>
<a id="changeMobileNumberSentTo"></a>
</span>
</p>
<p><label>{* textChangeMobileNumberCodeLabel *}</label></p>
<p>
<input id="secondFactorCodeChangeMobileNumberInput" value="" type="text" class="aic-input"
placeholder="{* textChangeMobileNumberCodePlaceholder *}" data-action="submitChangeMobileNumberCode">
</p>
<button type="submit" id="submitChangeMobileNumberCodeButton" class="aic-control" data-action="submitChangeMobileNumberCode">{* textChangeMobileNumberCodeCodeSubmit *}</button>
<div id="resendCodeSecondFactorChangeMobileNumber">
<p>{* textSecondFactorChangeMobileNumberCodeResend *}
<a href=""view-source%3Ahttps%3A//v1.api.us.janrain.com/e0a70b4f-1eef-4856-bcdb-f050fee66aae/auth-ui/v2/login?\_\_aic\_csrf=fo3YXieocsFVRsd\_&client\_id=64430515-01ea-4f5d-82e4-c36161af0093&code\_challenge=qsPq1vY\_27mtHgxHIiIdBg6LTMGOz1OipZM2Ynn9ETA&code\_challenge\_method=S256&prompt=login&redirect\_uri=https%3A%2F%2Foidc-playground.akamai.com%2Fredirect\_uri&response\_type=code&scope=openid&state=XGW3\_EvXQQ5RqYgGqXYpMMrbFJYpXpPapBX7dvQ0ywo" style="color: rgb(149, 79, 114);text-decoration: underline;">#" class="aic-control" data-action="resendChangeMobileNumberCode">
{* textSecondFactorChangeMobileNumberCodeSendLink *}
</a>
</p>
</div>
<div id ="resendCodeSecondFactorChangeMobileNumberInvalid">
<p class="aic-error">{* textSecondFactorChangeMobileNumberCodeResendInvalid *}
<a href=""view-source%3Ahttps%3A//v1.api.us.janrain.com/e0a70b4f-1eef-4856-bcdb-f050fee66aae/auth-ui/v2/login?\_\_aic\_csrf=fo3YXieocsFVRsd\_&client\_id=64430515-01ea-4f5d-82e4-c36161af0093&code\_challenge=qsPq1vY\_27mtHgxHIiIdBg6LTMGOz1OipZM2Ynn9ETA&code\_challenge\_method=S256&prompt=login&redirect\_uri=https%3A%2F%2Foidc-playground.akamai.com%2Fredirect\_uri&response\_type=code&scope=openid&state=XGW3\_EvXQQ5RqYgGqXYpMMrbFJYpXpPapBX7dvQ0ywo" style="color: rgb(149, 79, 114);text-decoration: underline;">#" class="aic-control aic-error" data-action="resendChangeMobileNumberCode">
{* textSecondFactorChangeMobileNumberCodeSendLinkInvalid *}
</a>
</p>
</div>
</div>
<div id="containerChangeMobileNumberSuccess">
<p class="aic-success">{* textChangeMobileNumberCodeCodeSuccess *}</p>
</div>
<div id="containerDeleteMobileNumberSuccess" class="delete">
<h2>{* textDeleteMobileNumberTitle *}</h2>
</div>
</div>
</article>
<article class="password">
<div id="profilePassword" class="profile-card">
<div class="profile-show">
<h2>Password</h2>
<p id="existingPassword">**************</p>
</div>
<div class="profile-actions">
<aside class="profile-action-icons" data-group="profilePasswordAction">
<button type="button" class="aic-icon icon-edit" value="edit"></button>
</aside>
</div>
</div>
<div id="profilePasswordAction" class="action-card">
<aside class="profile-action-icons" data-group="profilePasswordAction">
<button type="button" value="close" class="aic-icon icon-subtract"></button>
</aside>
<div class="add edit">
<h2>{* textPasswordSettings *}</h2>
{* #changePasswordForm *}
{* currentPassword *}
{* newPassword *}
{* newPasswordConfirm *}
<div class="form-action-buttons flex">
<button type="submit">{* textSaveChanges *}</button>
{* savedProfileMessage *}
</div>
{* /changePasswordForm *}
</div>
</div>
</article>
</section>
<section class="integrations">
<article class="linked-accounts">
<div class="integration-card">
<div class="flex-quad-header">
<h2>{* textLinkAccountsSettings *}</h2>
<p>{* textLinkAccountsDescription *}</p>
</div>
<div class="flex-quad-body" id="link-account-aic">
{* linkedAccounts *}
{* #linkAccountContainer *}
{* /linkAccountContainer *}
<div class="social-login-buttons link-account" data-button-prefix="{* textConnectWith *}"></div>
</div>
</div>
</article>
</section>
</div>
</div>
</div>
</div>
<div class="footer-container">
<div class="content-wrapper">
<span class="help-link">{* textNeedHelp *}{* linkHelp *}</span>
<div class="footer-text">
{* textFooter *}
</div>
<div class="footer-extra-text">
{* textFooterExtra *}
</div>
</div>
</div>
</div>
To help you put the CSS classes in context, the following snippet shows the HTML markup used to define the screen, with the CSS classes highlighted using red text. To view the latest HTML for a screen, right-click a blank spot on your Hosted Login login page, click View Page Source, then search for the screen name.
CSS classes used on this screen
The following table lists all the CSS classes used on this screen; the table also includes the default CSS specified for each class (note that some classes, such as footer-text, are not spelled out in the base.css file).
CSS Class | Default CSS |
---|---|
action-card | .action-card { flex-grow: 1; flex-basis: 0; flex wrap: wrap; min-width: 300 px; margin: 8 px; background-color: #f2f2f2; padding: 0 20 px 20 px 20 px } |
action-description existing-value | |
action-description | |
add edit | |
aic-control aic-error | .aic-control { cursor:pointer } .aic-error { color:# fa5151 } |
aic-control logout | .aic-control { cursor:pointer } .logout { position: absolute; top: 25px; right:50px } |
aic-control | .aic-control { cursor:pointer } |
aic-error | .aic-error { color:# fa5151 } |
aic-icon icon-add | |
aic-icon icon-edit | |
aic-icon icon-subtract | |
aic-input | .aic-input { border:1px solid # 979797; margin - bottom: 15 px; color: #444; padding:7px; border-radius:2px; width:100%; box-sizing:border-box } |
aic-success | |
card-body | .card-body { padding:15px 25px } |
card-heading | .aic-control { cursor:pointer } .card-heading { border-bottom: 1px solid #f2f2f2; position:relative } |
chevron left | .chevron::before { border-style: solid; border-width: .12em .12em 0 0; content: ""; display: inline-block; height: .65em; left: .15em; position: relative; top: .32em; transform: rotate(-45deg); vertical-align: top; width: .65em; border-color:#979797 } .chevron.left:before, .lang-rtl .chevron.right:before { left: .25em; transform:rotate(-135deg) } |
codesentto-tel-flag | .codesentto-tel-flag { display:none } |
content-wrapper | #content-wrapper { background-color: #fff; box-shadow:1px 1px 5px 2px rgba(0, 0, 0, .1) } |
delete | |
edit add | |
flex-quad body | |
flex-quad-header | |
footer-container | .footer-container { padding: 25px; border-top: 1px solid #f2f2f2; text-align:center } |
footer-extra-text | |
footer-text | |
form-action-buttons | .form-action-buttons { margin:0 -10px } |
help-link | |
integration-card | |
integrations | |
linked-accounts | |
logout-container | |
manage-screen content-wrapper | .manage-screen.content-wrapper { position:relative } |
password | |
phone-group | .phone-group { white-space:nowrap; margin-left:2px } |
phone | |
profile-action-icons | .profile-action-icons { display:flex; flex-direction:row; flex-wrap:wrap; margin-bottom:13px } |
profile-actions | |
profile-card | |
profile-header-actions | .profile-header-actions { display: flex; flex-direction: row; justify - content: space - between } |
profile-header | .profile-header { display: flex; flex-direction: row; flex-wrap:wrap } |
profile-header-image user-photo-container | .profile-header-image { text-align:right } .profile-header-image .profile-image { margin-right: 20px; border-radius: 50%; max-height: 100px; max-width:100px } |
profile-header-text | |
profile-management-container profile-security | |
profile-preferences card-icon | |
profile-show | |
profile | |
return-to-app-container | |
screen | .screen { min-width:460px } |
screen-heading | .screen-heading { margin-top:0 } |
social-login-buttons | .social-login-buttons button { margin: 5px 0; padding: 0; width:100% } |
verified-identifier | .verified-identifier { color:green; font-weight:bold; float:right; margin-right:40px } |
CSS classes mapped to UI elements
The following graphic maps CSS classes to the more-visible UI elements used in the screen:
See also
Updated about 2 years ago