Revert "feature/Remove Sign Up flow from legacy portal"

This reverts commit 233af77b75.
This commit is contained in:
Marko Milić 2026-01-13 12:08:13 +01:00
parent 8c3f2e2671
commit 346cefcc90
15 changed files with 219 additions and 73 deletions

View File

@ -569,16 +569,15 @@ webui_oauth_1_documentation_url =
# Link to OAuth 2.0 glossary on api explorer
webui_oauth_2_documentation_url =
# Sign up functionality removed - users are directed to OBP Portal for registration
# The following signup-related properties are no longer used:
# - webui_signup_form_submit_button_value (signup form submit button text)
# - webui_signup_form_title_text (signup form title)
# - webui_signup_body_password_repeat_text (password repeat field text)
# - allow_pre_filled_password (pre-filled password functionality)
# - webui_agree_terms_html (terms agreement checkbox HTML)
# - webui_agree_privacy_policy_url (privacy policy URL for signup)
# - webui_agree_privacy_policy_html_text (privacy policy agreement text)
# - webui_legal_notice_html_text (legal notice for signup forms)
# Link to Privacy Policy on signup page
#webui_signup_form_submit_button_value=
#webui_signup_form_title_text=Sign Up
#webui_signup_body_password_repeat_text=Repeat
#allow_pre_filled_password=true
#webui_agree_terms_html=<div id="signup-agree-terms" class="checkbox"><label><input type="checkbox" />I hereby agree to the <a href="$url" title="T &amp; C">Terms and Conditions</a></label></div>
webui_agree_privacy_policy_url = https://openbankproject.com/privacy-policy
webui_agree_privacy_policy_html_text =<div id="signup-agree-privacy-policy"><label>By submitting this information you consent to processing your data by TESOBE GmbH according to our <a href="$url" title="Privacy Policy">Privacy Policy</a>. TESOBE shall use this information to send you emails and provide customer support.</label></div>
#webui_legal_notice_html_text=<div id="signup-legal_notice">Tesobe will use your information as set out in our privacy notice</div>
## For partner logos and links
webui_main_partners=[\
@ -597,8 +596,8 @@ webui_main_style_sheet = /media/css/website.css
# Override certain elements (with important styles)
webui_override_style_sheet =
## Link to agree to Terms & Conditions (no longer used - signup removed)
# webui_agree_terms_url =
## Link to agree to Terms & Conditions, shown on signup page
webui_agree_terms_url =
## The Support Email, shown in the bottom page
#webui_support_email=contact@openbankproject.com
@ -626,9 +625,6 @@ webui_override_style_sheet =
#webui_post_consumer_registration_submit_button_value=Register consumer
# OBP Portal URL - base URL for the OBP Portal service
# Used for:
# - User registration: {webui_obp_portal_url}/register (all "Register" links redirect here)
# - Consumer registration: {webui_obp_portal_url}/consumer-registration (default)
webui_obp_portal_url = http://localhost:5174
# External Consumer Registration URL - used to redirect "Get API Key" links to an external service

View File

@ -1249,7 +1249,7 @@ object Glossary extends MdcLoggable {
|
|### 1) Get your App key
|
|[Sign up](${APIUtil.getPropsValue("webui_obp_portal_url", "http://localhost:5174")}/register) or [login]($getServerUrl/user_mgt/login) as a developer.
|[Sign up]($getServerUrl/user_mgt/sign_up) or [login]($getServerUrl/user_mgt/login) as a developer.
|
|Register your App key [HERE](${getConsumerRegistrationUrl()})
|
@ -2305,7 +2305,7 @@ object Glossary extends MdcLoggable {
|
|### Step 1: Get your App key
|
|[Sign up](${APIUtil.getPropsValue("webui_obp_portal_url", "http://localhost:5174")}/register) or [login]($getServerUrl/user_mgt/login) as a developer
|[Sign up]($getServerUrl/user_mgt/sign_up) or [login]($getServerUrl/user_mgt/login) as a developer
|
|Register your App key [HERE](${getConsumerRegistrationUrl()})
|
@ -2954,7 +2954,7 @@ object Glossary extends MdcLoggable {
|
|## In order to get an App / Consumer key
|
|[Sign up](${APIUtil.getPropsValue("webui_obp_portal_url", "http://localhost:5174")}/register) or [login]($getServerUrl/user_mgt/login) as a developer.
|[Sign up]($getServerUrl/user_mgt/sign_up) or [login]($getServerUrl/user_mgt/login) as a developer.
|
|Register your App / Consumer [HERE](${getConsumerRegistrationUrl()})
|

View File

@ -229,7 +229,7 @@ class AuthUser extends MegaProtoUser[AuthUser] with CreatedUpdated with MdcLogga
override lazy val password = new MyPasswordNew
// Removed signup password repeat text - not needed with OBP Portal redirect
lazy val signupPasswordRepeatText = getWebUiPropsValue("webui_signup_body_password_repeat_text", S.?("repeat"))
class MyPasswordNew extends MappedPassword(this) {
lazy val preFilledPassword = if (APIUtil.getPropsAsBoolValue("allow_pre_filled_password", true)) {get.toString} else ""
@ -238,9 +238,14 @@ class AuthUser extends MegaProtoUser[AuthUser] with CreatedUpdated with MdcLogga
Full(
<span>
{appendFieldId(<input id="textPassword" aria-labelledby="Password" aria-describedby={uniqueFieldId.getOrElse("")} type={formInputType} name={funcName} value={preFilledPassword}/> ) }
<div id="password-error" class="alert alert-danger hide">
<div id="signup-error" class="alert alert-danger hide">
<span data-lift={s"Msg?id=${uniqueFieldId.getOrElse("")}&errorClass=error"}/>
</div>
<div id ="repeat-password">{signupPasswordRepeatText}</div>
<input id="textPasswordRepeat" aria-labelledby="Password Repeat" aria-describedby={uniqueFieldId.getOrElse("")} type={formInputType} name={funcName} value={preFilledPassword}/>
<div id="signup-error" class="alert alert-danger hide">
<span data-lift={s"Msg?id=${uniqueFieldId.getOrElse("")}_repeat&errorClass=error"}/>
</div>
</span>)
}
}
@ -424,6 +429,7 @@ import net.liftweb.util.Helpers._
override def screenWrap = Full(<lift:surround with="default" at="content"><lift:bind /></lift:surround>)
// define the order fields will appear in forms and output
override def fieldOrder = List(id, firstName, lastName, email, username, password, provider)
override def signupFields = List(firstName, lastName, email, username, password)
// To force validation of email addresses set this to false (default as of 29 June 2021)
override def skipEmailValidation = APIUtil.getPropsAsBoolValue("authUser.skipEmailValidation", false)
@ -692,7 +698,28 @@ import net.liftweb.util.Helpers._
case _ => S.error(S.?("invalid.validation.link")); S.redirectTo(homePage)
}
override def actionsAfterSignup(theUser: TheUserType, func: () => Nothing): Nothing = {
theUser.setValidated(skipEmailValidation).resetUniqueId()
theUser.save
val privacyPolicyValue: String = getWebUiPropsValue("webui_privacy_policy", "")
val termsAndConditionsValue: String = getWebUiPropsValue("webui_terms_and_conditions", "")
// User Agreement table
UserAgreementProvider.userAgreementProvider.vend.createUserAgreement(
theUser.user.foreign.map(_.userId).getOrElse(""), "privacy_conditions", privacyPolicyValue)
UserAgreementProvider.userAgreementProvider.vend.createUserAgreement(
theUser.user.foreign.map(_.userId).getOrElse(""), "terms_and_conditions", termsAndConditionsValue)
if (!skipEmailValidation) {
sendValidationEmail(theUser)
S.notice(S.?("sign.up.message"))
func()
} else {
grantDefaultEntitlementsToAuthUser(theUser)
logUserIn(theUser, () => {
S.notice(S.?("welcome"))
func()
})
}
}
/**
* Set this to redirect to a certain page after a failed login
*/
@ -701,9 +728,87 @@ import net.liftweb.util.Helpers._
}
// Removed signup-related methods: agreeTermsDiv, legalNoticeDiv, agreePrivacyPolicy
// These were only used in signup forms which now redirect to OBP Portal
// Signup functionality removed - users are directed to OBP Portal for registration
def agreeTermsDiv = {
val webUi = new WebUI
val webUiPropsValue = getWebUiPropsValue("webui_terms_and_conditions", "")
val termsAndConditionsCheckboxTitle = Helper.i18n("terms_and_conditions_checkbox_text", Some("I agree to the above Terms and Conditions"))
val termsAndConditionsCheckboxLabel = Helper.i18n("terms_and_conditions_checkbox_label", Some("Terms and Conditions"))
val agreeTermsHtml = s"""<hr>
| <div class="form-group" id="terms-and-conditions-div" onclick="enableDisableButton()">
| <details open style="cursor:s-resize;">
| <summary style="display:list-item;"><a class="api_group_name">$termsAndConditionsCheckboxLabel</a></summary>
| <div id="terms-and-conditions-page">${webUi.makeHtml(webUiPropsValue)}</div>
| </details>
| <input type="checkbox" class="form-check-input" id="terms_checkbox" >
| <label id="terms_checkbox_value" class="form-check-label" for="terms_checkbox">$termsAndConditionsCheckboxTitle</label>
| </div>
| """.stripMargin
scala.xml.Unparsed(agreeTermsHtml)
}
def legalNoticeDiv = {
val agreeTermsHtml = getWebUiPropsValue("webui_legal_notice_html_text", "")
if(agreeTermsHtml.isEmpty){
s""
} else{
scala.xml.Unparsed(s"""$agreeTermsHtml""")
}
}
def agreePrivacyPolicy = {
val webUi = new WebUI
val privacyPolicyCheckboxText = Helper.i18n("privacy_policy_checkbox_text", Some("I agree to the above Privacy Policy"))
val privacyPolicyCheckboxLabel = Helper.i18n("privacy_policy_checkbox_label", Some("Privacy Policy"))
val webUiPropsValue = getWebUiPropsValue("webui_privacy_policy", "")
val agreePrivacyPolicy = s"""<hr>
| <div class="form-group" id="privacy-conditions-div" onclick="enableDisableButton()">
| <details open style="cursor:s-resize;">
| <summary style="display:list-item;"><a class="api_group_name">$privacyPolicyCheckboxLabel</a></summary>
| <div id="privacy-policy-page">${webUi.makeHtml(webUiPropsValue)}</div>
| </details>
| <input id="privacy_checkbox" type="checkbox" class="form-check-input">
| <label class="form-check-label" for="privacy_checkbox">$privacyPolicyCheckboxText</label>
| </div>
| <hr>""".stripMargin
scala.xml.Unparsed(agreePrivacyPolicy)
}
def enableDisableSignUpButton = {
val javaScriptCode = """<script>
| function enableDisableButton() {
| var checkBox = document.getElementById("terms-and-conditions-div").querySelector("input[type=checkbox]");
| var checkBox2 = document.getElementById("privacy-conditions-div").querySelector("input[type=checkbox]");
| var button = document.getElementById("submit-button");
| if (checkBox.checked == true && checkBox2.checked == true){
| button.disabled = false;
| } else {
| button.disabled = true;
| }
| }
| </script>""".stripMargin
scala.xml.Unparsed(javaScriptCode)
}
def signupFormTitle = getWebUiPropsValue("webui_signup_form_title_text", S.?("sign.up"))
override def signupXhtml (user:AuthUser) = {
<div id="signup" tabindex="-1">
<form method="post" action={ObpS.uriAndQueryString.getOrElse(ObpS.uri)}>
<h1>{signupFormTitle}</h1>
{legalNoticeDiv}
<div id="signup-general-error" class="alert alert-danger hide"><span data-lift="Msg?id=error"/></div>
{localForm(user, false, signupFields)}
{agreeTermsDiv}
{agreePrivacyPolicy}
<div id="signup-submit">
<input onmouseover="enableDisableButton()" onfocus="enableDisableButton()" disabled="true" id="submit-button" type="submit" class="btn btn-danger"/>
</div>
{enableDisableSignUpButton}
</form>
</div>
}
override def localForm(user: TheUserType, ignorePassword: Boolean, fields: List[FieldPointerType]): NodeSeq = {
@ -713,11 +818,18 @@ import net.liftweb.util.Helpers._
if field.show_? && (!ignorePassword || !pointer.isPasswordField_?)
form <- field.toForm.toList
} yield {
<div class="form-group">
<label>{field.displayName}</label>
{form}
<div id="form-error" class="alert alert-danger hide"><span data-lift={s"Msg?id=${field.uniqueFieldId.getOrElse("")}&errorClass=error"}/></div>
</div>
if(field.uniqueFieldId.getOrElse("") == "authuser_password") {
<div class="form-group">
<label>{field.displayName}</label>
{form}
</div>
} else {
<div class="form-group">
<label>{field.displayName}</label>
{form}
<div id="signup-error" class="alert alert-danger hide"><span data-lift={s"Msg?id=${field.uniqueFieldId.getOrElse("")}&errorClass=error"}/></div>
</div>
}
}
}
@ -1498,8 +1610,67 @@ def restoreSomeSessions(): Unit = {
val usernames: List[String] = this.getResourceUsersByEmail(email).map(_.user.name)
findAll(ByList(this.username, usernames))
}
def signupSubmitButtonValue() = getWebUiPropsValue("webui_signup_form_submit_button_value", S.?("sign.up"))
//overridden to allow redirect to loginRedirect after signup. This is mostly to allow
// loginFirst menu items to work if the user doesn't have an account. Without this,
// if a user tries to access a logged-in only page, and then signs up, they don't get redirected
// back to the proper page.
override def signup = {
val theUser: TheUserType = mutateUserOnSignup(createNewUserInstance())
val theName = signUpPath.mkString("")
//Check the internal redirect, in case for open redirect issue.
// variable redir is from loginRedirect, it is set-up in OAuthAuthorisation.scala as following code:
// val currentUrl = ObpS.uriAndQueryString.getOrElse("/")
// AuthUser.loginRedirect.set(Full(Helpers.appendParams(currentUrl, List((LogUserOutParam, "false")))))
val loginRedirectSave = loginRedirect.is
def testSignup() {
validateSignup(theUser) match {
case Nil =>
//here we check loginRedirectSave (different from implementation in super class)
val redir = loginRedirectSave match {
case Full(url) =>
loginRedirect(Empty)
url
case _ =>
//if the register page url (user_mgt/sign_up?after-signup=link-to-customer) contains the parameter
//after-signup=link-to-customer,then it will redirect to the on boarding customer page.
ObpS.param("after-signup") match {
case url if (url.equals("link-to-customer")) =>
"/add-user-auth-context-update-request"
case _ =>
homePage
}
}
if (Helper.isValidInternalRedirectUrl(redir.toString)) {
actionsAfterSignup(theUser, () => {
S.redirectTo(redir)
})
} else {
S.error(S.?(ErrorMessages.InvalidInternalRedirectUrl))
logger.info(ErrorMessages.InvalidInternalRedirectUrl + loginRedirect.get)
}
case xs =>
xs.foreach{
e => S.error(e.field.uniqueFieldId.openOrThrowException("There is no uniqueFieldId."), e.msg)
}
signupFunc(Full(innerSignup _))
}
}
def innerSignup = {
val bind = "type=submit" #> signupSubmitButton(signupSubmitButtonValue(), testSignup _)
bind(signupXhtml(theUser))
}
if(APIUtil.getPropsAsBoolValue("user_invitation.mandatory", false))
S.redirectTo("/user-invitation-info")
else
innerSignup
}
def scrambleAuthUser(userPrimaryKey: UserPrimaryKey): Box[Boolean] = tryo {
AuthUser.find(By(AuthUser.user, userPrimaryKey.value)) match {

View File

@ -70,11 +70,8 @@ class Login {
href getOrElse "#"
} & {
".signup [href]" #> {
val portalUrl = getWebUiPropsValue("webui_obp_portal_url", "http://localhost:5174")
s"$portalUrl/register"
} &
".signup [target]" #> "_blank" &
".signup [rel]" #> "noopener"
AuthUser.signUpPath.foldLeft("")(_ + "/" + _)
}
}
}
}

View File

@ -46,7 +46,6 @@ import net.liftweb.http.S
import net.liftweb.util.Helpers._
import net.liftweb.util.{CssSel, Helpers, Props}
import code.api.oauth1a.OauthParams._
import code.webuiprops.MappedWebUiPropsProvider.getWebUiPropsValue
import scala.xml.NodeSeq
@ -151,12 +150,8 @@ object OAuthAuthorisation {
href getOrElse "#"
} &
".signup [href]" #> {
val portalUrl = getWebUiPropsValue("webui_obp_portal_url", "http://localhost:5174")
s"$portalUrl/register"
} &
".signup [target]" #> "_blank" &
".signup [rel]" #> "noopener"
".signup [href]" #>
AuthUser.signUpPath.foldLeft("")(_ + "/" + _)
}
}
case _ => error("Application not found")

View File

@ -550,21 +550,8 @@ class WebUI extends MdcLoggable{
def userIsLoggedIn: CssSel = {
if(AuthUser.loggedIn_?)
"#register-link [href]" #> scala.xml.Unparsed(s"/already-logged-in")
else {
val portalUrl = getWebUiPropsValue("webui_obp_portal_url", "http://localhost:5174")
val registerUrl = s"$portalUrl/register"
"#register-link [href]" #> scala.xml.Unparsed(registerUrl) &
"#register-link [target]" #> "_blank" &
"#register-link [rel]" #> "noopener"
}
}
def portalRegisterLink: CssSel = {
val portalUrl = getWebUiPropsValue("webui_obp_portal_url", "http://localhost:5174")
val registerUrl = s"$portalUrl/register"
"a [href]" #> scala.xml.Unparsed(registerUrl) &
"a [target]" #> "_blank" &
"a [rel]" #> "noopener"
else
"#register-link [href]" #> scala.xml.Unparsed(s"/user_mgt/sign_up")
}
def alreadyLoggedIn: CssSel = {

View File

@ -59,7 +59,7 @@ Berlin 13359, Germany
</div>
<div class="col-xs-12 col-md-5 main-get-started-text">
<h3><span class="get_started_create_account_title">Create an account</span></h3>
<p><span class="get_started_create_account">First, create a free developer account on this sandbox and request a developer key. You will be asked to submit basic information about your app at this stage. </span><a href="#" data-lift="WebUI.portalRegisterLink"><span class="register_for_an_account">Register for an account</span>
<p><span class="get_started_create_account">First, create a free developer account on this sandbox and request a developer key. You will be asked to submit basic information about your app at this stage. </span><a href="/user_mgt/sign_up"><span class="register_for_an_account">Register for an account</span>
</a>.</p>
<p data-lift="WebUI.subscriptionsInvitationText" class ="subscriptions_invitation_text"> </span>
</p>

View File

@ -59,7 +59,7 @@ Berlin 13359, Germany
</div>
<div class="col-xs-12 col-md-5 main-get-started-text">
<h3><lift:loc locid="get_started_create_account_title">Create an account</lift:loc></h3>
<p><lift:loc locid="get_started_create_account">First, create a free developer account on this sandbox and request a developer key. You will be asked to submit basic information about your app at this stage. </lift:loc><a href="#" data-lift="WebUI.portalRegisterLink"><lift:loc locid="register_for_an_account">Register for an account</lift:loc>
<p><lift:loc locid="get_started_create_account">First, create a free developer account on this sandbox and request a developer key. You will be asked to submit basic information about your app at this stage. </lift:loc><a href="/user_mgt/sign_up"><lift:loc locid="register_for_an_account">Register for an account</lift:loc>
</a>.</p>
<p data-lift="WebUI.subscriptionsInvitationText" class ="subscriptions_invitation_text"> </lift:loc>
</p>

View File

@ -40,7 +40,7 @@
<hr>
<div class="row">
<span id="login-Register-text">Don't have an account? </span>
<a href="#" data-lift="WebUI.portalRegisterLink" id="authorise-signup" class="btn btn-default pull-right authorise-button" tabindex="0">Register</a>
<a href="/user_mgt/sign_up" id="authorise-signup" class="btn btn-default pull-right authorise-button" tabindex="0">Register</a>
</div>
<div data-lift="OpenIDConnectSnippet.showText" class ="login-or"> or Login with OpenID : </div>

View File

@ -42,7 +42,7 @@
<hr>
<div class="row">
<span id="login-Register-text"><lift:loc locid="don't_have_account">Don't have an account?</lift:loc> </span>
<a href="#" data-lift="WebUI.portalRegisterLink" id="authorise-signup" class="btn btn-default pull-right authorise-button" tabindex="0"><lift:loc locid="register">Register</lift:loc></a>
<a href="/user_mgt/sign_up" id="authorise-signup" class="btn btn-default pull-right authorise-button" tabindex="0"><lift:loc locid="register">Register</lift:loc></a>
</div>
<div data-lift="OpenIDConnectSnippet.showText" class ="login-or"><lift:loc locid="or_login_with_openid"> or Login with OpenID :</lift:loc></div>

View File

@ -143,7 +143,7 @@ Berlin 13359, Germany
<li data-lift="Nav.item?name=Login" class="navitem">
<!-- LOGGED OUT -->
<p data-lift="WebUI.userIsLoggedIn">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link"><span class="register">Register</span></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><span class="logon">Log on</span></a>
<a href="/user_mgt/sign_up" class="navbar-btn" id ="register-link"><span class="register">Register</span></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><span class="logon">Log on</span></a>
</p>
</li>
@ -198,7 +198,7 @@ Berlin 13359, Germany
</li>
<li>
<div class="navitem" id="register-link-nav">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="WebUI.userIsLoggedIn" href="/user_mgt/sign_up" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="Login.loggedIn" href="#" class="logout">Log off</a></p>
</div>
</li>
@ -235,7 +235,7 @@ Berlin 13359, Germany
<a class="sofi-link" data-lift="WebUI.sofiLink" href="">Sofit</a>
</li>
<li>
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">
<a href="/user_mgt/sign_up?after-signup=link-to-customer" class="navbar-btn" id ="register-link">
<span class="register">On Board</span></a>
</li>
<li>

View File

@ -148,7 +148,7 @@ Berlin 13359, Germany
<li data-lift="Nav.item?name=Login" class="navitem">
<p data-lift="WebUI.userIsLoggedIn">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link"><lift:loc locid="register">Register</lift:loc></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><lift:loc locid="logon">Log on</lift:loc></a>
<a href="/user_mgt/sign_up" class="navbar-btn" id ="register-link"><lift:loc locid="register">Register</lift:loc></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><lift:loc locid="logon">Log on</lift:loc></a>
</p>
</li>
@ -208,7 +208,7 @@ Berlin 13359, Germany
</li>
<li>
<div class="navitem" id="register-link-nav">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="WebUI.userIsLoggedIn" href="/user_mgt/sign_up" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="Login.loggedIn" href="#" class="logout">Log off</a></p>
</div>
</li>
@ -248,7 +248,7 @@ Berlin 13359, Germany
<a class="sofi-link" data-lift="WebUI.sofiLink" href="">Sofit</a>
</li>
<li>
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">
<a href="/user_mgt/sign_up?after-signup=link-to-customer" class="navbar-btn" id ="register-link">
<lift:loc locid="register">On Board</lift:loc></a>
</li>
<li>

View File

@ -143,7 +143,7 @@ Berlin 13359, Germany
<li data-lift="Nav.item?name=Login" class="navitem">
<!-- LOGGED OUT -->
<p data-lift="WebUI.userIsLoggedIn">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link"><lift:loc locid="register">Register</lift:loc></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><lift:loc locid="logon">Log on</lift:loc></a>
<a href="/user_mgt/sign_up" class="navbar-btn" id ="register-link"><lift:loc locid="register">Register</lift:loc></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><lift:loc locid="logon">Log on</lift:loc></a>
</p>
</li>
@ -198,7 +198,7 @@ Berlin 13359, Germany
</li>
<li>
<div class="navitem" id="register-link-nav">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="WebUI.userIsLoggedIn" href="/user_mgt/sign_up" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="Login.loggedIn" href="#" class="logout">Log off</a></p>
</div>
</li>
@ -236,7 +236,7 @@ Berlin 13359, Germany
<a class="sofi-link" data-lift="WebUI.sofiLink" href="">Sofit</a>
</li>
<li>
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">
<a href="/user_mgt/sign_up?after-signup=link-to-customer" class="navbar-btn" id ="register-link">
<lift:loc locid="register">On Board</lift:loc></a>
</li>
<li>

View File

@ -143,7 +143,7 @@ Berlin 13359, Germany
<li data-lift="Nav.item?name=Login" class="navitem">
<!-- LOGGED OUT -->
<p data-lift="WebUI.userIsLoggedIn">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link"><lift:loc locid="register">Register</lift:loc></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><lift:loc locid="logon">Log on</lift:loc></a>
<a href="/user_mgt/sign_up" class="navbar-btn" id ="register-link"><lift:loc locid="register">Register</lift:loc></a><a data-lift="Login.loggedOut" href="#" class="btn btn-danger login"><lift:loc locid="logon">Log on</lift:loc></a>
</p>
</li>
@ -198,7 +198,7 @@ Berlin 13359, Germany
</li>
<li>
<div class="navitem" id="register-link-nav">
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="WebUI.userIsLoggedIn" href="/user_mgt/sign_up" class="navbar-btn" id ="register-link">Register</a>
<a data-lift="Login.loggedIn" href="#" class="logout">Log off</a></p>
</div>
</li>
@ -235,7 +235,7 @@ Berlin 13359, Germany
<a class="sofi-link" data-lift="WebUI.sofiLink" href="">Sofit</a>
</li>
<li>
<a href="#" data-lift="WebUI.portalRegisterLink" class="navbar-btn" id ="register-link">
<a href="/user_mgt/sign_up?after-signup=link-to-customer" class="navbar-btn" id ="register-link">
<lift:loc locid="register">On Board</lift:loc></a>
</li>
<li>

View File

@ -67,7 +67,7 @@ trait DefaultProvider extends Provider {
val requestTokenUrl = baseUrl + "/oauth/initiate"
val accessTokenUrl = baseUrl + "/oauth/token"
val authorizeUrl = baseUrl + "/oauth/authorize"
val signupUrl = Some(APIUtil.getPropsValue("webui_obp_portal_url", "http://localhost:5174") + "/register")
val signupUrl = Some(baseUrl + "/user_mgt/sign_up")
lazy val oAuthProvider : OAuthProvider = new DefaultOAuthProvider(requestTokenUrl, accessTokenUrl, authorizeUrl)