Download index.html from huggingfacejs/client-side-oauth: direct link, hf CLI and curl.
- Browser
- Download file 2.67 kB
-
https://huggingface.co/spaces/huggingfacejs/client-side-oauth/resolve/main/index.html
- Command line
-
hf download hf://spaces/huggingfacejs/client-side-oauth/index.html
-
curl -L -o index.html https://huggingface.co/spaces/huggingfacejs/client-side-oauth/resolve/main/index.html
2.67 kB
| <html> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width" /> | |
| <title>My static Space</title> | |
| <link rel="stylesheet" href="style.css" /> | |
| <script src="https://unpkg.com/es-module-shims@1.7.0/dist/es-module-shims.js"></script> | |
| <script type="importmap"> | |
| { | |
| "imports": { | |
| "@huggingface/hub": "https://cdn.jsdelivr.net/npm/@huggingface/hub@2.11.2/+esm" | |
| } | |
| } | |
| </script> | |
| </head> | |
| <body> | |
| <div class="card" style="margin-bottom: 2rem;"> | |
| <h1>OAuth in a static Space</h1> | |
| <p>Checkout the <a href="https://huggingface.co/spaces/huggingfacejs/client-side-oauth/blob/main/index.html" target="_blank">index.html</a> file to see the few lines of code | |
| enabling this space</p> | |
| <p>After clicking "Signin with HF", you will be redirected to this space and the access token + user info will be displayed.</p> | |
| </div> | |
| <img src="https://huggingface.co/datasets/huggingface/badges/resolve/main/sign-in-with-huggingface-xl-dark.svg" alt="Sign in with Hugging Face" style="cursor: pointer; display: none;" id="signin"> | |
| <button id="signout" style="display: none">Sign out</button> | |
| <pre> | |
| </pre> | |
| <script type="module"> | |
| import { oauthLoginUrl, oauthHandleRedirectIfPresent } from "@huggingface/hub"; | |
| console.log("huggingface env", window.huggingface); | |
| let oauthResult = localStorage.getItem("oauth"); | |
| if (oauthResult) { | |
| try { | |
| oauthResult = JSON.parse(oauthResult); | |
| } catch { | |
| oauthResult = null; | |
| } | |
| } | |
| oauthResult ||= await oauthHandleRedirectIfPresent(); | |
| if (oauthResult) { | |
| document.querySelector("pre").textContent = JSON.stringify(oauthResult, null, 2); | |
| localStorage.setItem("oauth", JSON.stringify(oauthResult)); | |
| document.getElementById("signout").style.removeProperty("display"); | |
| document.getElementById("signout").onclick = async function() { | |
| localStorage.removeItem("oauth"); | |
| window.location.href = window.location.href.replace(/\?.*$/, ''); | |
| window.location.reload(); | |
| } | |
| } else { | |
| document.getElementById("signin").style.removeProperty("display"); | |
| document.getElementById("signin").onclick = async function() { | |
| // prompt=consent to re-trigger the consent screen instead of silently redirecting | |
| window.location.href = (await oauthLoginUrl({scopes: window.huggingface.variables.OAUTH_SCOPES})) + "&prompt=consent"; | |
| } | |
| } | |
| </script> | |
| </body> | |
| </html> | |