Skip to content

Instantly share code, notes, and snippets.

@vktr
Created February 10, 2018 18:54
Show Gist options
  • Save vktr/c6c99491f39349ac9b0547a9893837bf to your computer and use it in GitHub Desktop.
Save vktr/c6c99491f39349ac9b0547a9893837bf to your computer and use it in GitHub Desktop.
Add Stripe Customer Id to Auth0 via custom rule
function (user, context, callback) {
user.app_metadata = user.app_metadata || {};
if ('stripe_customer_id' in user.app_metadata) {
context.idToken['https://example.com/stripe_customer_id'] = user.app_metadata.stripe_customer_id;
return callback(null, user, context);
}
var stripe = require('stripe')('sk_....');
var customer = {
email: user.email
};
stripe.customers.create(customer, function(err, customer) {
if (err) {
return callback(err);
}
user.app_metadata.stripe_customer_id = customer.id;
auth0.users.updateAppMetadata(user.user_id, user.app_metadata)
.then(function() {
context.idToken['https://example.com/stripe_customer_id'] = user.app_metadata.stripe_customer_id;
callback(null, user, context);
})
.catch(function(err) {
callback(err);
});
});
}
@vktr
Copy link
Author

vktr commented Dec 8, 2020

@YO-SC that's where you put your Stripe secret key

@YO-SC
Copy link

YO-SC commented Dec 10, 2020

@vktr Thanks for all the replies and support 👼 👍 😄

@haris-aqeel
Copy link

Have someone integrated it with their React, Node app. I want to see the actual implementation. I would be really thankful if anyone could share the working example. I hope you all will help me in this regard

@raidchamps
Copy link

What if I want it to look through all my stripe customers that have the same email address as the logged-in user and have it add the API ID of any active subscriptions to the users Auth0 app_metadata?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment