UNPKG

@builton/core-sdk

Version:
107 lines (86 loc) 2.48 kB
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Builton SDK & Auth0 example</title> <style type="text/css"> </style> </head> <body> <div id="auth0Root"></div> <div id="profile"></div> <script src="https://unpkg.com/@builton/core-sdk@latest/dist/main.bundle.js"></script> <script src="http://cdn.auth0.com/js/lock/11.0.1/lock.min.js"></script> <script src="./config.js"></script> <script> if (typeof config === 'undefined') { alert('It seems you haven\'t set up the configuration file yet :('); } var lock = new Auth0Lock(config.auth0.client, config.auth0.domain, { auth: { responseType: 'token id_token', params: {scope: 'openid app_metadata user_metadata'} }, allowedConnections: ['facebook'], container: 'auth0Root' }); var loginAndOrder = function(idToken, profile, fn) { var builton = new Builton({ apiKey: config.apiKey, bearerToken: idToken }); var loginBody = { first_name: profile.given_name, last_name: profile.family_name, }; builton.users.authenticate(loginBody, {}, function(err, user) { if (err) { // Handle error return; } document.getElementById('profile').innerHTML = 'Hello ' + user.first_name + ' ' + user.last_name; builton.products.search('test', {}, function (err, products) { if (err) { // Handle error return; } var product = products[0]; var orderBody = { items: [{product: product.id, quantity: 1}], currency: 'GBP', delivery_address: { street_name: 'Slottsplassen 1', zip_code: '0010', city: 'Oslo', country: 'Norway', geo: [59.909848, 10.7379474], } }; builton.orders.create(orderBody, {}, function (err, order) { if (err) { // Handle error return; } alert('order created: ' + order.id); console.log('order created: ', order); fn(); }); }); }); }; lock.on("authenticated", function(authResult) { lock.getUserInfo(authResult.accessToken, function(err, profile) { if (err) { // Handle error return; } var callback = function() { lock.hide(); }; loginAndOrder(authResult.idToken, profile, callback); }); }); lock.show(); </script> </body> </html>