Skip to content

Instantly share code, notes, and snippets.

@jatinvaidya
jatinvaidya / classic_hosted_login_page.html
Created July 25, 2023 23:56
Auth0 Classic Hosted Login with Password & Passwordless
<!DOCTYPE html>
<html>
<head>
<title>Auth0 Hosted Login Page</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/tailwind.min.css"
rel="stylesheet"
/>
<style>
.form-container {
@jatinvaidya
jatinvaidya / m2m-hook-te-access-control.js
Last active December 19, 2022 00:36
Auth0 M2M Hook: Access Token Exchange Controls
/**
@param {object} client - information about the client
@param {string} client.name - name of client
@param {string} client.id - client id
@param {string} client.tenant - Auth0 tenant name
@param {object} client.metadata - client metadata
@param {array|undefined} scope - array of strings representing the scope claim or undefined
@param {string} audience - token's audience claim
@param {object} context - additional authorization context
@param {object} context.webtask - webtask context
@jatinvaidya
jatinvaidya / Client Specific Sessions: Rule: Function Library
Last active March 11, 2022 02:57
Client Specific Session Lifetime POC
/* * * *
* This is just a library of utility functions
* There is NO STATE maintained in `global`
* NOT PRODUCTION READY !!
* * * */
function functionsLibrary(user, context, callback) {
const uuid = require("[email protected]");
const isInteractiveAuthentication = () => {
const leeway = 5; // seconds
@jatinvaidya
jatinvaidya / renew-m2mtoken-lambda
Created December 2, 2021 03:18
Lambda to Renew an M2M Access Token and set in Auth0 Actions Secret
const axios = require('axios');
const { SecretsManagerClient, GetSecretValueCommand } = require("@aws-sdk/client-secrets-manager");
let response;
let AUTH0_DOMAIN = process.env.AUTH0_DOMAIN;
let AUTH0_CLIENT_ID = process.env.AUTH0_CLIENT_ID;
let AUTH0_CLIENT_SECRET_ARN = process.env.AUTH0_CLIENT_SECRET_ARN;
let AUTH0_AUDIENCE = process.env.AUTH0_AUDIENCE;
let AUTH0_API2_CLIENT_ID = process.env.AUTH0_API2_CLIENT_ID;
let AUTH0_API2_CLIENT_SECRET_ARN = process.env.AUTH0_API2_CLIENT_SECRET_ARN;
let AUTH0_ACTIONS_ID = process.env.AUTH0_ACTIONS_ID;
@jatinvaidya
jatinvaidya / caution-account-auto-link-rule.js
Created November 24, 2021 05:23
CAUTION: Automatically Link Accounts with Verified Email
@jatinvaidya
jatinvaidya / redis-set-loader-node-sample-input.csv
Last active December 13, 2020 23:59
Parse input CSV and stream to Redis Set
user_id1 user_id2 user_id3
@jatinvaidya
jatinvaidya / login-script-with-caching
Last active December 13, 2020 23:55
caching-in-auth0-login-action-script
function getToken(cb) {
if (global.ACCESS_TOKEN)
return (cb(null, global.ACCESS_TOKEN));
request.post({
url: "https://tenant.auth0.com/oauth/token",
json: {
client_id: "configuration.CLIENT_ID",
client_secret: configuration.SECRET,
audience: "external API",
grant_type: "client_credentials"