1.1.0 • Published 10 months ago

web-keycloak v1.1.0

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
10 months 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

11 months ago

1.1.0

10 months ago

0.9.7

11 months ago

0.9.4

1 year ago

0.9.3

1 year ago

0.9.6

11 months ago

0.9.5

1 year ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago

1.0.9

10 months ago

1.0.8

11 months ago

1.0.7

11 months ago

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months 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