diff --git a/kfone-website/.env.example b/kfone-website/.env.example
index bc302b3..5feaf40 100644
--- a/kfone-website/.env.example
+++ b/kfone-website/.env.example
@@ -10,3 +10,4 @@ REACT_APP_BASE_API_ENDPOINT=
REACT_APP_CHOREO_ORGANIZATION=
REACT_APP_CHOREO_AUTH_TOKEN=
REACT_APP_MY_ACCOUNT_URL=
+REACT_APP_SIGN_UP_URL=&sp='>
diff --git a/kfone-website/src/config.js b/kfone-website/src/config.js
index eff7853..51e7246 100644
--- a/kfone-website/src/config.js
+++ b/kfone-website/src/config.js
@@ -23,6 +23,12 @@ const appConfig = {
signInRedirectURL: process.env.REACT_APP_ASGARDEO_LOGIN_CALLBACK_URL ?? '',
signOutRedirectURL: process.env.REACT_APP_ASGARDEO_LOGOUT_CALLBACK_URL ?? '',
scope: ['openid', 'profile', 'email'],
+ signUpUrl: process.env.REACT_APP_SIGN_UP_URL
+ ? process.env.REACT_APP_SIGN_UP_URL.replace(
+ '{{clientId}}',
+ process.env.REACT_APP_ASGARDEO_CLIENT_ID ?? ''
+ )
+ : '',
stsConfig: {
client_id: process.env.REACT_APP_CHOREO_CLIENT_ID ?? '',
orgHandle: process.env.REACT_APP_CHOREO_ORGANIZATION ?? '',
diff --git a/kfone-website/src/layouts/Navbar.jsx b/kfone-website/src/layouts/Navbar.jsx
index 8f80e8b..b74c216 100644
--- a/kfone-website/src/layouts/Navbar.jsx
+++ b/kfone-website/src/layouts/Navbar.jsx
@@ -22,6 +22,7 @@ import { HiMenuAlt3 } from 'react-icons/hi';
import { GiCrossedAirFlows } from 'react-icons/gi';
import { GrClose } from 'react-icons/gr';
import RoundedIconButton from '../components/buttons/RoundedIconButton';
+import appConfig from '../config';
const Navbar = (props) => {
const { handleLogin, state } = props;
@@ -56,6 +57,11 @@ const Navbar = (props) => {
+ {!state?.isAuthenticated && (
+ -
+ Sign Up
+
+ )}
-
{
const { state, signIn, getDecodedIDPIDToken, trySignInSilently } = useAuthContext();
@@ -33,6 +34,8 @@ const HomePage = () => {
const reRenderCheckRef = useRef(false);
const history = useHistory();
+ const [showAutoLoginLoader, setShowAutoLoginLoader] = useState(false);
+
useEffect(() => {
reRenderCheckRef.current = true;
@@ -50,6 +53,19 @@ const HomePage = () => {
})();
}, []);
+ /**
+ * This is a workaround to trigger a login request when users come
+ * from the Sign Up path with auto login enabled.
+ */
+ useEffect(() => {
+ const shouldAutoLogin = query.get('autologin');
+
+ if (shouldAutoLogin) {
+ setShowAutoLoginLoader(true);
+ signIn();
+ }
+ }, [query]);
+
const handleLogin = () => {
if (state?.isAuthenticated) {
history.push('/my-kfone');
@@ -67,6 +83,10 @@ const HomePage = () => {
});
};
+ if (showAutoLoginLoader) {
+ return ;
+ }
+
return (