Usage
Usage of library with examples.
Authenticate
Authenticate user with guard example.
import { SHooks } from '@token-public-org/token-sso-react-library';
import type { ReactNode } from 'react';
const { useSSO } = SHooks;
type Props = {
children:ReactNode
}
const SecureGuard = ({children}:Props)=>{
const { authenticated, login, initialized } = useSSO();
// Wait until sso initialized
if(!initialized){
return <p>loading...</p>
}
// If authenticated return children
if(authenticated){
return children;
}
// Else redirect to login page
login({
redirectUri: window.location.href
});
}
export default SecureGuard;
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const SecureGuard = ({children})=>{
const { authenticated, login, initialized } = useSSO();
// Wait until sso initialized
if(!initialized){
return <p>loading...</p>
}
// If authenticated return children
if(authenticated){
return children;
}
// Else redirect to login page
login({
redirectUri: window.location.href
});
}
export default SecureGuard;
Guard render in dom,
Check user authenticated,
If authenticated render page.
Else redirect to login page.
Logout
Logout with button example. (With redirect)
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { logout } = useSSO();
const handleLogout = ()=>{
// Logout and redirect back to origin
logout({ redirectUri: encodeURI(window.location.origin) });
}
return(
<button onClick={handleLogout}>Logout</button>
)
}
export default AccountPage;
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { logout } = useSSO();
const handleLogout = ()=>{
// Logout and redirect back to origin
logout({ redirectUri: encodeURI(window.location.origin) });
}
return(
<button onClick={handleLogout}>Logout</button>
)
}
export default AccountPage;
Logout with button example. (Without redirect)
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { logout } = useSSO();
const handleLogout = ()=>{
// Logout and dont make any redirect !
logout({ withRedirect: false });
// Do it anything...
}
return(
<button onClick={handleLogout}>Logout</button>
)
}
export default AccountPage;
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { logout } = useSSO();
const handleLogout = ()=>{
// Logout and dont make any redirect !
logout({ withRedirect: false });
// Do it anything...
}
return(
<button onClick={handleLogout}>Logout</button>
)
}
export default AccountPage;
User Details
Example to get userDetails from useSSO hook.
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { userDetails } = useSSO();
...mainpulate "userDetails" your own.
}
export default AccountPage;
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { userDetails } = useSSO();
...mainpulate "userDetails" your own.
}
export default AccountPage;
User Roles
Example to get userRoles from useSSO hook.
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { roles:userRoles } = useSSO();
...mainpulate "userRoles" your own.
}
export default AccountPage;
import { SHooks } from '@token-public-org/token-sso-react-library';
const { useSSO } = SHooks;
const AccountPage = ()=>{
const { roles:userRoles } = useSSO();
...mainpulate "userRoles" your own.
}
export default AccountPage;
Last updated