1.1.0 • Published 1 year ago

web-keycloak v1.1.0

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
1 year ago

HFN login web component

Web component for embedding HFN signin/signup funtionality in any applications.

Usage

<hfn-auth-profile config='{"issuer":"issue_url","keycloakAdmin":"admin_dev_url,"realm":"xxxx"}' themeColor= "navy" enableSignup="true" singInOption='{"email":true,"phone":true,"facebook":true,"google":true}' /></hfn-auth-profile>

Simple HTML Implementation

<!---
<html>
    <head>
        <script type="module" src="https://unpkg.com/hfn-auth-profile/index.js"></script>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
        <script type="text/javascript">
            window.addEventListener('load', (res) => {

                // After successful login, We will get Auth token from the below callback method. Using this token we can fetch SRCM profile information. 

                document.querySelector('hfn-auth-profile').loginCallback = function(res){
                    fetch("/api/v2/me/", {
                            headers: {
                            Accept: "application/json",
                            Authorization: res?.access_token,
                            }
                        })
                        .then((r) => {
                            if (r?.data?.results.length > 0) {
                                console.log(r?.data?.results)
                            }
                        })
                        .catch((e) => {
                            console.log(e);
                        });
                };
            });
        </script>
    </head>
    <body>
        <div>
            <hfn-auth-profile config='{"issuer":"xxx","keycloakAdmin":"xxx", "realm": "xxxx"}' themeColor= "" enableSignup="" singInOption="" /></hfn-auth-profile>
        </div>
    </body>
</html>
-->

React Implementation

npm i hfn-auth-profile

In React file:

<!-- 
React.useEffect(() => {
    import("hfn-auth-profile");
});

const hfnAuth = useRef();    

useEffect(() => {

    // After successful login, We will get Auth token from the below callback method. Using this token we can fetch SRCM profile information. 

    hfnAuth.current.loginCallback = (res) => {
        fetch("/api/v2/me/", {
            headers: {
            Accept: "application/json",
            Authorization: res?.access_token,
            }
        })
        .then((r) => {
            if (r?.data?.results.length > 0) {
                console.log(r?.data?.results)
            }
        })
        .catch((e) => {
            console.log(e);
        });
    };
}, [hfnAuth]); 

return (
    <hfn-auth-profile ref={hfnAuth} config='{"issuer":"xxx","keycloakAdmin":"xxx", "realm": "xxxx"}'/></hfn-auth-profile>
);


-->

Get new active token using refresh token & Logout utils.

<!-- 
import { Authentication } from "hfn-auth-profile/js/auth/authentication";

const auth = new Authentication();

// Retrive new token from refresh token
const showActiveToken = async () => {
    const params = {
        keycloakAdmin: "keycloak_admin_url",
        clientId: "xxx",
        clientSecret: "yyyy",
    };
    const tokenData = await auth.getActiveToken(params);
    console.log(tokenData);
};

// Logout - Clear keycloak session
const onClickLogout = async () => {
    const payload = {
        issuer: "issue_url",
    };
    const res = await auth.userLogout(payload);
    if (!res?.error) {
        // logout success
    }
};

<Button onClick={showActiveToken} className="logout-btn btn-cls">
    Active Token
</Button>
<Button onClick={onClickLogout} className="logout-btn btn-cls">
    Logout
</Button>

-->
0.9.8

1 year ago

1.1.0

1 year ago

0.9.7

1 year ago

0.9.4

1 year ago

0.9.3

1 year ago

0.9.6

1 year ago

0.9.5

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

0.9.2

1 year ago

0.9.1

1 year ago

0.8.9

1 year ago

0.8.8

1 year ago

0.8.5

1 year ago

0.8.4

1 year ago

0.8.7

1 year ago

0.8.6

1 year ago

0.9.0

1 year ago

0.8.1

1 year ago

0.8.0

1 year ago

0.8.3

1 year ago

0.8.2

1 year ago

0.7.9

1 year ago

0.7.8

1 year ago

0.7.6

1 year ago

0.7.7

1 year ago

0.7.2

1 year ago

0.7.4

1 year ago

0.7.3

1 year ago

0.7.5

1 year ago

0.6.7

1 year ago

0.6.6

1 year ago

0.6.9

1 year ago

0.6.8

1 year ago

0.7.1

1 year ago

0.7.0

1 year ago

0.6.5

1 year ago

0.4.9

1 year ago

0.4.8

1 year ago

0.5.4

1 year ago

0.5.3

1 year ago

0.5.6

1 year ago

0.5.5

1 year ago

0.5.0

1 year ago

0.5.2

1 year ago

0.5.1

1 year ago

0.5.8

1 year ago

0.5.7

1 year ago

0.5.9

1 year ago

0.6.3

1 year ago

0.6.2

1 year ago

0.6.4

1 year ago

0.6.1

1 year ago

0.6.0

1 year ago

0.4.5

1 year ago

0.4.7

1 year ago

0.4.6

1 year ago

0.4.4

1 year ago

0.4.3

1 year ago

0.4.2

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.3.9

1 year ago

0.3.0

1 year ago

0.3.6

1 year ago

0.3.5

1 year ago

0.3.8

1 year ago

0.2.9

1 year ago

0.3.7

1 year ago

0.2.8

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.4

1 year ago

0.3.3

1 year ago

0.2.6

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.9

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago