swizec / useauth Goto Github PK
View Code? Open in Web Editor NEWThe simplest way to add authentication to your React app. Supports various providers.
Home Page: https://useauth.dev
License: MIT License
The simplest way to add authentication to your React app. Supports various providers.
Home Page: https://useauth.dev
License: MIT License
useAuth/src/providers/NetlifyIdentity.ts
Line 35 in a0a0e7b
Do I need to call Auth0 API to get refresh token or there is a way with your library to do this?
Hi, according to my understanding, useEffect
should have all the variables listed in its dependency list
, but it seems this line of code https://github.com/Swizec/useAuth/blob/master/src/AuthProvider.js#L53 does not include contextValue
in the dependency list.
The current code:
useEffect(() => {
setContextValue({ ...contextValue, state });
}, [state]);
Maybe it's better this way?
useEffect(() => {
setContextValue((contextValue) => {
return { ...contextValue, state };
});
}, [state]);
This allows us not to include contextValue
into the dependency list. So we can follow the React Hooks rules.
I am a react native student.. I need a help in axios.. In my project i not get print in android emulator.. I get response in terminal but it not show un emulator..
π
useAuth is doing great as an opensource project, we're at 1.1k stars π
So I recently bought useAuth.dev and put the gatsby example page up. This is an okay start, but we need something better.
Unfortunately I don't have bandwidth to make the site myself. And I suck as a designer too.
Therefore I want to open this up as a request for help for webdev newbies who want to flex their skills. You can use this as a learning opportunity for Gatsby (or maybe Next?), React, design, frontend, whatever you like. Use it in your portfolio, to land paying gigs (I might have some in the pipeline), have a project to show at interviews, etc. Up to you :)
First, I'm thinking of this as a volunteer/opensource/forexperience/exposure project. useAuth itself is pure opensource without a business model and I want to keep it that way. That's why I'm looking for newbies to do this as a learning opportunity :)
If that works for you π
Interested? Leave a comment, ask questions, ping me on twitter, or just get started. :)
I saw that you were open to other identity providers besides Auth0, so how about oidc-client?
https://auth0.com/docs/quickstart/backend/nodejs/01-authorization
As far as I understand, when creating a backend to you would take access_token from client, and you would need to verify the token.
One of the key elements to check is audience.
Auth0.com asks to create an API with an identifier (can be anything - doesn't even have to start with https://, right?)
https://auth0.com/docs/getting-started/set-up-api
Identifier: a unique identifier for the API. Auth0 recommends using a URL. Auth0 does differentiate between URLs that include the last forward slash. For example, https://example.com and https://example.com/ are two different identifiers. The URL does not have to be a publicly available URL. Auth0 will not call your API. This value cannot be modified afterwards.
https://github.com/Swizec/useAuth/blob/v0.6.1/src/AuthProvider.tsx#L69
Here, the audience is pre-defined to be /api/v2/
and you are to pass auth0_audience_domain
part instead of entire identifier text.
Of course you can overwrite it
https://github.com/Swizec/useAuth/blob/v0.6.1/src/AuthProvider.tsx#L75
like so, but why the provider takes auth0_audience_domain
and uses /api/v2/
instead of just an identifier text?
What is the correct way to setup development repo?
Here is what I did:
This gives me following error (screenshot is attached).
Please help with the correct way to contribute to the project.
Hi,
my question might be specific to the general way of testing Context API in React that acts as a singleton.
I believe it's a great help to showcase how is this useAuth
library is going to be tested since it's (seems like) a singleton. Thanks!
Hi Swizec,
I set up a new Gatsby site using Theme-ui for the docs. I think it's better than my earlier effort. I didn't set up the useAuth login as it seems that you are still working on refactoring and expanding login provider options. Happy to set it up later. :-)
I think there is a security issue with this approach https://github.com/Swizec/useAuth#set-up-a-auth0-rule you are using user_metadata
to store roles but a user could potentially change that.
Auth0 recommends to use app_metadata
as the right place to store user roles as that's not supposed to be editable by a user.
https://auth0.com/docs/users/concepts/overview-user-metadata
Please note that the following code will cause a re-render of your entire subtree.
Lines 53 to 59 in ef4a9d4
Because context uses reference identity to determine when to re-render, there are some gotchas that could trigger unintentional renders in consumers when a providerβs parent re-renders.
https://reactjs.org/docs/context.html#caveats
this.state
React.useMemo()
Bear with me as I just got started with React.
Installed module through yarn
yarn add react-use-auth
Immediately when I slap
import { useAuth } from "react-use-auth";
in my index.js file I get a little warning on that line stating:
Could not find a declaration file for module 'react-use-auth'. '/Users/<omitted>/SERVER/with-apollo/with-apollo-npm/node_modules/react-use-auth/dist/index.js' implicitly has an 'any' type.
Try `npm install @types/react-use-auth` if it exists or add a new declaration (.d.ts) file containing `declare module 'react-use-auth';`ts(7016)
Unsure why it is asking for typescript declarations - I thought I was doing everything in plain JS.
I thought that this was just a warning and this would not affect the functioning of the module but, while running the actual app I got a warning stating:
TypeError: Cannot read property 'state' of null
At this line:
const { isAuthenticated, login, logout, isAuthenticating, user } = useAuth()
What I did to make sure that it becomes more plausible that the typescript warning above is causing this is the following 'reverse engineering' procedure I followed:
I copied all the files from this module into my 'local' filesystem (lib folder) and called them this way - in stead of via the node_modules dir.
Result: The typescript error went away and I no longer have the Cannot read property 'state' of null error anymore.
What's better : the login procedure works. I can log in and log out.
Hi,
After spending a long time debugging my app using useAuth
I realised that this issue was happening in Chrome (and in incognito mode so it doesn't appear to be any plugins), but not FF (neither in private window mode).
So I tried the example app:
https://gatsby-useauth-example.now.sh/
It works and retains the session in Safari v13.1 (14609.1.20.111.8) but session is lost in Chrome v80.0.3987.163 (and in FF v68.5.0esr) upon reloading after logging in.
I'm on (OSX Mojave 10.14.6)
It looks like sourcemaps are created, but not published, which makes it difficult to understand what the library is doing.
In the project I am testing (NextJS) I am using Auth0 Auth Client but the project does not run because it is asking for the other Auth Client netlify-identity-widget.
When installing everything works again correctly but in this case, I don't need the Netlify package
"react-use-auth": "^1.0.0",
Error: Module not found: Can't resolve 'netlify-identity-widget'
Is there any plan to add ability to secure a route? i.e. require logged in to access /account?
I'm using Auth0 to allow users to login via GitHub.
I now need to get at the OAuth token from GitHub so I can make authorised requests to the GitHub API. I think maybe useAuth
could expose this token too, if it can? (I'm not super familiar with auth0 so sorry if I'm heading down the wrong path here).
This library made auth so much easier so thank you for that!
I have a minimal NextJS app configured with useAuth
and Auth0
as provider.
The build fails when running on Vercel.
Not sure if I am doing things wrong, but the build completes successfully when running it locally using next build
.
import { AuthConfig, Providers } from "react-use-auth";
import Head from 'next/head'
import { useRouter } from "next/router";
import '../styles/globals.css'
import Layout from './_layout/Layout'
function MyApp({ Component, pageProps }) {
const router = useRouter();
return (
<>
<Head>
<link rel="icon" href="/favicon.ico" />
</Head>
<AuthConfig
authProvider={Providers.Auth0}
navigate={(url) => router.push(url)}
params={{
domain: process.env.NEXT_PUBLIC_AUTH0_DOMAIN,
clientID: process.env.NEXT_PUBLIC_AUTH0_CLIENT_ID
}}
/>
<Layout>
<Component {...pageProps} />
</Layout>
</>
)
}
export default MyApp
09:18:04.383 | Failed to compile.
-- | --
09:18:04.383 | ModuleNotFoundError: Module not found: Error: Can't resolve 'netlify-identity-widget' in '/vercel/workpath0/node_modules/react-use-auth/dist'
09:18:04.383 | > Build error occurred
09:18:04.384 | Error: > Build failed because of webpack errors
09:18:04.384 | at build (/vercel/workpath0/node_modules/next/dist/build/index.js:15:918)
09:18:04.384 | at runMicrotasks (<anonymous>)
09:18:04.384 | at processTicksAndRejections (internal/process/task_queues.js:97:5)
09:18:04.414 | Error: Command "next build --debug" exited with 1
09:14:02.075 Cloning github.com/martinnormark/mortimer-nextjs (Branch: master, Commit: d94e474)
09:14:03.276 Cloning completed in 1201ms
09:14:03.279 Analyzing source code...
09:14:04.021 Installing build runtime...
09:14:04.473 Build runtime installed: 451.812ms
09:14:05.387 Installing dependencies...
09:14:05.840 npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!
09:14:16.176 > [email protected] install /vercel/workpath0/node_modules/sharp
09:14:16.176 > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
09:14:16.330 info sharp Using cached /vercel/.npm/_libvips/libvips-8.10.0-linux-x64.tar.br
09:14:17.364 > @ampproject/[email protected] postinstall /vercel/workpath0/node_modules/@ampproject/toolbox-optimizer
09:14:17.364 > node lib/warmup.js
09:14:17.868 οΏ½[7mAMP OPTIMIZERοΏ½[0m Downloaded latest AMP runtime data.
09:14:18.305 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/watchpack-chokidar2/node_modules/fsevents):
09:14:18.305 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
09:14:18.312 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
09:14:18.313 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
09:14:18.315 added 872 packages from 477 contributors in 12.504s
09:14:18.654 50 packages are looking for funding
09:14:18.654 run `npm fund` for details
09:14:18.684 Running "npm run build"
09:14:18.878 > [email protected] build /vercel/workpath0
09:14:18.878 > next build
09:14:19.544 info - Creating an optimized production build...
09:14:19.560 Attention: Next.js now collects completely anonymous telemetry regarding usage.
09:14:19.560 This information is used to shape Next.js' roadmap and prioritize features.
09:14:19.560 You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
09:14:19.560 https://nextjs.org/telemetry
09:14:25.091 Failed to compile.
09:14:25.091 ModuleNotFoundError: Module not found: Error: Can't resolve 'netlify-identity-widget' in '/vercel/workpath0/node_modules/react-use-auth/dist'
09:14:25.091 > Build error occurred
09:14:25.092 Error: > Build failed because of webpack errors
09:14:25.092 at build (/vercel/workpath0/node_modules/next/dist/build/index.js:15:918)
09:14:25.092 at runMicrotasks (<anonymous>)
09:14:25.092 at processTicksAndRejections (internal/process/task_queues.js:97:5)
09:14:25.124 npm ERR! code ELIFECYCLE
09:14:25.124 npm ERR! errno 1
09:14:25.129 npm ERR! [email protected] build: `next build`
09:14:25.129 npm ERR! Exit status 1
09:14:25.129 npm ERR!
09:14:25.129 npm ERR! Failed at the [email protected] build script.
09:14:25.129 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
09:14:25.137 npm ERR! A complete log of this run can be found in:
09:14:25.137 npm ERR! /vercel/.npm/_logs/2020-12-11T08_14_25_130Z-debug.log
09:14:25.141 Error: Command "npm run build" exited with 1
09:14:27.289 Done with "package.json"
Hey Swizec ππ½
regarding your workaround over here: https://github.com/Swizec/useAuth/blob/master/auth0.js I just ran into the same problem and looked a bit further for a potential solution. Did you try this one? https://davidwells.io/blog/publishing-flat-npm-packages-for-easier-import-paths-smaller-consumer-bundle-sizes Looks promising and would avoid you having the auth0.js on a top-level. Just wanted to share it, because I noticed your tweet about this topic recently.
Best π€
I dare to ask as I'm trying to choose between NextAuth and useAuth for a new project.
Love this module, so easy to integrate and work with, just wondering one thing:
From what I can tell this should persist the user being logged in between refreshes or am I being slow? It's logging out user between refreshes, localStorage values still present...
This is a little weird, my gatsby app for some reason logs out a few seconds after refresh. A normal username-password-authentication connection works fine. The following is the state a second after the refresh:
authResult: null,
error: {
code: "login_required",
description: "Login required"
error: "login_required"
error_description: "Login required",
original: {
error: "login_required",
error_description: "Login required
}
},
errorType: "checkSession",
expiresAt: null,
isAuthenticating: false,
user: {}
auth0_callback
import React, { useEffect } from "react"
import { useAuth } from "react-use-auth"
import Layout from "../components/layout"
const AuthCallback = () => {
const { handleAuthentication } = useAuth()
useEffect(() => {
handleAuthentication({ postLoginRoute: "/" })
}, [])
return <Layout>Redirecting to home...</Layout>
}
export default AuthCallback
thanks for this work!
I'm trying to integrate useAuth with ApolloClient and nextjs.
I started from the code provided in the nextjs example, and now I'm adding Apollo. The client needs the access token so I'm did something like this:
export default function App({ Component, pageProps }) {
const router = useRouter();
return (
<AuthProvider
navigate={router.push}
auth0_domain="..."
auth0_client_id="..."
>
<ApolloWrapper>
<Component {...pageProps} />
</ApolloWrapper>
</AuthProvider>
);
}
// eslint-disable-next-line react/prop-types
function ApolloWrapper({ children }) {
const { authResult, isAuthenticating, isAuthenticated } = useAuth();
console.log({
authResult,
isAuthenticating,
isAuthenticated: isAuthenticated(),
});
const client = createApolloClient(authResult && authResult.idToken);
return <ApolloProvider client={client}>{children}</ApolloProvider>;
}
it works as long I'm staying in the app.
for some reason when I refresh the page (I disabled ublock), authResult becomes null and I can't send any request to the db (fails because missing access token)
useAuth
works pretty great for web, but what about React Native or Ionic? Is there any plan to add the support? π
When I run next-js project with simple setup, I get this error.
error - /home/chinmay/Projects/next-useauth-starter/node_modules/react-use-auth/auth0.js:4
export { Auth0 } from "./dist/auth0";
^^^^^^
SyntaxError: Unexpected token 'export'
My code:
__app.js
return (
<>
<AuthConfig
navigate={(url) => router.push(url)}
authProvider={Auth0}
params={{
domain: "useauth.auth0.com",
clientID: "GjWNFNOHqlino7lQNjBwEywalaYtbIzh",
}}
/>
<Component {...pageProps} />
</>
);
Getting this error when I try and use version 1.0.0 or 1.0.1. I do not see this error in 0.9.0
./node_modules/react-use-auth/dist/index.module.js
Module not found: Can't resolve 'auth0-js' in 'C:\projects\useauth-create-react-app\node_modules\react-use-auth\dist'
Compiling...
Failed to compile.
Thans a lot, I want a feature to use useAuth with next.js, But I am new for it. Would you out a next.js example for useAuth? thanks a lot. I will test it.
It's hard for me to actually debug why this is happening but I've set everything up and refreshing works fine on Chrome but in Safari the session is not persisted.
It might be related to this? auth0/auth0.js#756
lets say am using JWT credentials....i need to get the token from the useSession hook.
export const useAxiosPrivate = () => {
const { data, status } = useSession()
console.log(data)
const axiosInstance = axios.create({
baseURL: `${SERVER_LOCALHOST}/api/v1`,
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${data?.user.accessToken}`
}
})
return axiosInstance
}
i feel like because it will always return null | token,some requests will be sent with Bearer undefined....it there a way to avoid this???
Hi @Swizec , first of all, thank you for the library!
May I ask if it's compatible to be used in Next application as well?
I recommend adding this around your root component.
I was stuck on how to set up the Auth Provider in the Next environment as you suggested above. Thanks!
any chance youd have a simple example without the gatsby stuff?
Using localStorage
for storing auth0 tokens is not considered best practice per their docs. Instead, they recommend using the checkSession method if no back-end is available.
After using this system, handleAuthentication
does not result in logining the user in, and there is no error thrown
We can confirm that an accessToken
has been returned to redirect url specified in the rule, and that the idToken
, as well as the accessToken
, are valid.
After handleAuthentication
the user still not logged in.
import React from "react";
import { useRouter } from "next/router";
const Signup = () => {
const router = useRouter();
const state = router.query.state;
console.log(state);
return (
<React.Fragment>
<a href={`https://equivest.us.auth0.com/continue?state=${state}`}>
Continue !
</a>
</React.Fragment>
);
};
export default Signup;
function signupNewUser(user, context, callback) {
if (context.protocol === "redirect-callback" || !user.email) {
callback(null, user, context);
}
function checkUserExists({user_id}, context, done) {
done(null, false, context);
}
checkUserExists(user, context, (err, exists, context) => {
if (err) return callback(err);
context.redirect = {
url: `http://localhost:3000/signup`
};
console.log("User exists and context");
});
}
import { useEffect } from "react";
import { useAuth } from "react-use-auth";
const Auth0CallbackPage = () => {
const { handleAuthentication } = useAuth();
useEffect(() => {
handleAuthentication();
}, [handleAuthentication]);
return (
<h1>
This is the auth callback page, you should be redirected immediately!
</h1>
);
};
export default Auth0CallbackPage;
Hello, I think I heard you say this hook supports Firebase Authentication too in yesterday's stream. Can you point me towards a resource or documentation about using Firebase Auth with this?
If successful, I would love to send an example as a PR
This may be more of a question, but I am hoping to access the meta data of the user by overriding the auth0_params and wondering if this is how to get access to meta data through the useAuth config
<AuthProvider
navigate={navigate}
auth0_domain="xxxxx"
auth0_client_id="xxxxx"
auth0_params={{ scope: "openid profile email user_metadata"}}
>
{element}
</AuthProvider>
I went through these steps this morning and ran into a build issue.
npx create-next-app
yarn add react-use-auth auth0-js
pages/_app.js
from https://useauth.dev/docs/auth0/
yarn build
yarn dev
here's what i see when i run yarn dev
β next-auth git:(main) yarn dev
yarn run v1.22.4
$ next dev
ready - started server on http://localhost:3000
error - ./node_modules/react-use-auth/dist/react-use-auth.esm.js:1:4504
Module not found: Can't resolve 'react-use-auth/auth0'
Here are the files I see in react-use-auth
node_modules/react-use-auth
βββ LICENSE
βββ README.md
βββ dist
βΒ Β βββ AuthConfig.d.ts
βΒ Β βββ AuthProvider.d.ts
βΒ Β βββ NetlifyIdentity.esm.js
βΒ Β βββ NetlifyIdentity.esm.js.map
βΒ Β βββ NetlifyIdentity.js
βΒ Β βββ NetlifyIdentity.js.map
βΒ Β βββ NetlifyIdentity.modern.js
βΒ Β βββ NetlifyIdentity.modern.js.map
βΒ Β βββ NetlifyIdentity.umd.js
βΒ Β βββ NetlifyIdentity.umd.js.map
βΒ Β βββ __tests__
βΒ Β βΒ Β βββ AuthConfig.spec.d.ts
βΒ Β βΒ Β βββ AuthProvider.spec.d.ts
βΒ Β βΒ Β βββ authReducer.spec.d.ts
βΒ Β βΒ Β βββ useAuth.spec.d.ts
βΒ Β βββ auth0.esm.js
βΒ Β βββ auth0.esm.js.map
βΒ Β βββ auth0.js
βΒ Β βββ auth0.js.map
βΒ Β βββ auth0.modern.js
βΒ Β βββ auth0.modern.js.map
βΒ Β βββ auth0.umd.js
βΒ Β βββ auth0.umd.js.map
βΒ Β βββ authReducer.d.ts
βΒ Β βββ index.d.ts
βΒ Β βββ index.js
βΒ Β βββ index.js.map
βΒ Β βββ index.modern.js
βΒ Β βββ index.modern.js.map
βΒ Β βββ index.module.js
βΒ Β βββ index.module.js.map
βΒ Β βββ index.umd.js
βΒ Β βββ index.umd.js.map
βΒ Β βββ providers
βΒ Β βΒ Β βββ NetlifyIdentity.d.ts
βΒ Β βΒ Β βββ auth0.d.ts
βΒ Β βΒ Β βββ index.d.ts
βΒ Β βββ react-use-auth.esm.js
βΒ Β βββ react-use-auth.esm.js.map
βΒ Β βββ react-use-auth.js
βΒ Β βββ react-use-auth.js.map
βΒ Β βββ react-use-auth.modern.js
βΒ Β βββ react-use-auth.modern.js.map
βΒ Β βββ react-use-auth.umd.js
βΒ Β βββ react-use-auth.umd.js.map
βΒ Β βββ types.d.ts
βΒ Β βββ useAuth.d.ts
βββ package.json
βββ src
βββ AuthConfig.tsx
βββ AuthProvider.tsx
βββ __tests__
βΒ Β βββ AuthConfig.spec.tsx
βΒ Β βββ AuthProvider.spec.tsx
βΒ Β βββ authReducer.spec.ts
βΒ Β βββ useAuth.spec.tsx
βββ authReducer.ts
βββ index.ts
βββ providers
βΒ Β βββ NetlifyIdentity.ts
βΒ Β βββ auth0.ts
βΒ Β βββ index.ts
βββ types.ts
βββ useAuth.ts
Are there any instructions on setting up auth0.com? Specifically, I'm not sure if I need an application (or which type) or an API, or both.
It looks like the example is not working because the authConfig is not provided.
Here is a replay of my last session.
See the comment about the provider not being present and the wrapPageElement
not being called in src/index
...
I'm looking into why, but still new here :)
Hello, I am using this package and after loggin in with Auth0, my callback page flashes, and then before I see the authenticated content, the non-authenticated content flashes on the screen.
After seeing the callback, I would not expect to see the non-authenticated content flash on the screen.
Is there a way to prevent this?
I was wondering if @Swizec, or anyone could offer any guidance as to how to persist a newly registered user on my server after "signup" via Auth0
?
Before integrating useAuth
, I had a login form that would collect, name
, email
, password
, aboutMe
, etc, then, hit my GraphQL server, create a user entry in my User
table, and return a JWT
for use in subsequent requests for editing properties in the user's model.
I'm not seeing a clear path forward on doing something similar with useAuth
. Is this not a good use case for useAuth
?
I think this would be a great addition to the examples folder if it is possible.
Everything runs as expected on gatsby develop
, but as soon as I try and run gatsby build
I get a Webpack error:
WebpackError: TypeError: auth0_js__WEBPACK_IMPORTED_MODULE_1___default.a.WebAuth is not a constructor
- index.module.js:1 f
node_modules/react-use-auth/dist/index.module.js:1:2878
The only suggestion I've found online is to try running gatsby clean
and reinstalling node packages before trying again, but I haven't had any luck. Would anyone have an idea what might be causing this?
Hi there. Does this support the pkce flow / Chrome extension flow?
I thought there was some confusing wording in the readme about using cookies and localstorage.
cookie in local storage with your user's information
https://github.com/Swizec/useAuth/blame/master/README.md#L126
I didn't think it was possible to store a "cookie in localstorage". You either store info in a cookie or store info in local storage but not a cookie in local storage.
It says "user information". If this is non-secret stuff from the ID token like name I suppose that's ok but as I understood Auth0 was following all the best practices and not storage sensitive / secrete info in localStorage
since it could be compromised by 3rd party scripts. Maybe clarify what this user information is so users don't get worried and think this library is risky.
I watched the part of the video on you open sourcing this and you mentioned relying on the community to supply typescript typings.
I would be more than happy to help out with this, although there are some different ways we could go about it:
react-use-auth
in typescript, or just provide the typings as separate *.d.ts
files?
@types/react-use-auth
npm package and keep the typings completely out of the react-use-auth
repository (although these would likely get out of date regularly I'd imagine).tsc
for the builds or babel
and @babel/plugin-transform-typescript
?
babel
allows us to leverage other babel plugins like macros, etc (although none are currently used)babel
does not support all typescript features, but 98% of themHey,
I have custom auth via rails. Do you think this integration will work? This is not a bug but more of an enhancement questions. If this library can be used independently without auth0.
I do see that I can just provide any endpoints I wish in the config but not sure if someone already tried that and there are some specifics that are only going to work if auth0 is used.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.