This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve styling and wording of SSO error templates (#9287)
- Loading branch information
Showing
5 changed files
with
101 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
Improve the user experience of setting up an account via single-sign on. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,24 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>SSO account deactivated</title> | ||
</head> | ||
<body> | ||
<p>This account has been deactivated.</p> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>SSO account deactivated</title> | ||
<meta name="viewport" content="width=device-width, user-scalable=no"> | ||
<style type="text/css"> | ||
{% include "sso.css" without context %} | ||
</style> | ||
</head> | ||
<body class="error_page"> | ||
<header> | ||
<h1>Your account has been deactivated</h1> | ||
<p> | ||
<strong>No account found</strong> | ||
</p> | ||
<p> | ||
Your account might have been deactivated by the server administrator. | ||
You can either try to create a new account or contact the server’s | ||
administrator. | ||
</p> | ||
</header> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,25 @@ | ||
<html> | ||
<head> | ||
<title>Authentication Failed</title> | ||
</head> | ||
<body> | ||
<div> | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>Authentication failed</title> | ||
<meta name="viewport" content="width=device-width, user-scalable=no"> | ||
<style type="text/css"> | ||
{% include "sso.css" without context %} | ||
</style> | ||
</head> | ||
<body class="error_page"> | ||
<header> | ||
<h1>That doesn't look right</h1> | ||
<p> | ||
We were unable to validate your <tt>{{server_name | e}}</tt> account via | ||
single-sign-on (SSO), because the SSO Identity Provider returned | ||
different details than when you logged in. | ||
<strong>We were unable to validate your {{ server_name | e }} account</strong> | ||
via single sign‑on (SSO), because the SSO Identity | ||
Provider returned different details than when you logged in. | ||
</p> | ||
<p> | ||
Try the operation again, and ensure that you use the same details on | ||
the Identity Provider as when you log into your account. | ||
</p> | ||
</div> | ||
</header> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,53 +1,68 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>SSO error</title> | ||
</head> | ||
<body> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>Authentication failed</title> | ||
<meta name="viewport" content="width=device-width, user-scalable=no"> | ||
<style type="text/css"> | ||
{% include "sso.css" without context %} | ||
|
||
#error_code { | ||
margin-top: 56px; | ||
} | ||
</style> | ||
</head> | ||
<body class="error_page"> | ||
{# If an error of unauthorised is returned it means we have actively rejected their login #} | ||
{% if error == "unauthorised" %} | ||
<p>You are not allowed to log in here.</p> | ||
<header> | ||
<p>You are not allowed to log in here.</p> | ||
</header> | ||
{% else %} | ||
<p> | ||
There was an error during authentication: | ||
</p> | ||
<div id="errormsg" style="margin:20px 80px">{{ error_description | e }}</div> | ||
<p> | ||
If you are seeing this page after clicking a link sent to you via email, make | ||
sure you only click the confirmation link once, and that you open the | ||
validation link in the same client you're logging in from. | ||
</p> | ||
<p> | ||
Try logging in again from your Matrix client and if the problem persists | ||
please contact the server's administrator. | ||
</p> | ||
<p>Error: <code>{{ error }}</code></p> | ||
<header> | ||
<h1>There was an error</h1> | ||
<p> | ||
<strong id="errormsg">{{ error_description | e }}</strong> | ||
</p> | ||
<p> | ||
If you are seeing this page after clicking a link sent to you via email, | ||
make sure you only click the confirmation link once, and that you open | ||
the validation link in the same client you're logging in from. | ||
</p> | ||
<p> | ||
Try logging in again from your Matrix client and if the problem persists | ||
please contact the server's administrator. | ||
</p> | ||
<div id="error_code"> | ||
<p><strong>Error code</strong></p> | ||
<p>{{ error | e }}</p> | ||
</div> | ||
</header> | ||
|
||
<script type="text/javascript"> | ||
// Error handling to support Auth0 errors that we might get through a GET request | ||
// to the validation endpoint. If an error is provided, it's either going to be | ||
// located in the query string or in a query string-like URI fragment. | ||
// We try to locate the error from any of these two locations, but if we can't | ||
// we just don't print anything specific. | ||
let searchStr = ""; | ||
if (window.location.search) { | ||
// window.location.searchParams isn't always defined when | ||
// window.location.search is, so it's more reliable to parse the latter. | ||
searchStr = window.location.search; | ||
} else if (window.location.hash) { | ||
// Replace the # with a ? so that URLSearchParams does the right thing and | ||
// doesn't parse the first parameter incorrectly. | ||
searchStr = window.location.hash.replace("#", "?"); | ||
} | ||
<script type="text/javascript"> | ||
// Error handling to support Auth0 errors that we might get through a GET request | ||
// to the validation endpoint. If an error is provided, it's either going to be | ||
// located in the query string or in a query string-like URI fragment. | ||
// We try to locate the error from any of these two locations, but if we can't | ||
// we just don't print anything specific. | ||
let searchStr = ""; | ||
if (window.location.search) { | ||
// window.location.searchParams isn't always defined when | ||
// window.location.search is, so it's more reliable to parse the latter. | ||
searchStr = window.location.search; | ||
} else if (window.location.hash) { | ||
// Replace the # with a ? so that URLSearchParams does the right thing and | ||
// doesn't parse the first parameter incorrectly. | ||
searchStr = window.location.hash.replace("#", "?"); | ||
} | ||
|
||
// We might end up with no error in the URL, so we need to check if we have one | ||
// to print one. | ||
let errorDesc = new URLSearchParams(searchStr).get("error_description") | ||
if (errorDesc) { | ||
document.getElementById("errormsg").innerText = errorDesc; | ||
} | ||
</script> | ||
// We might end up with no error in the URL, so we need to check if we have one | ||
// to print one. | ||
let errorDesc = new URLSearchParams(searchStr).get("error_description") | ||
if (errorDesc) { | ||
document.getElementById("errormsg").innerText = errorDesc; | ||
} | ||
</script> | ||
{% endif %} | ||
</body> | ||
</html> |