UNPKG

auth0-js

Version:

Auth0 headless browser sdk

59 lines (45 loc) 1.53 kB
import urljoin from 'url-join'; import objectHelper from '../helper/object'; import RequestBuilder from '../helper/request-builder'; import responseHandler from '../helper/response-handler'; import windowHelper from '../helper/window'; import TransactionManager from './transaction-manager'; function UsernamePassword(options) { this.baseOptions = options; this.request = new RequestBuilder(options); this.transactionManager = new TransactionManager(this.baseOptions); } UsernamePassword.prototype.login = function(options, cb) { var url; var body; url = urljoin(this.baseOptions.rootUrl, 'usernamepassword', 'login'); options.username = options.username || options.email; // eslint-disable-line options = objectHelper.blacklist(options, ['email', 'onRedirecting']); // eslint-disable-line body = objectHelper .merge(this.baseOptions, [ 'clientID', 'redirectUri', 'tenant', 'responseType', 'responseMode', 'scope', 'audience' ]) .with(options); body = this.transactionManager.process(body); body = objectHelper.toSnakeCase(body, ['auth0Client']); return this.request .post(url) .send(body) .end(responseHandler(cb)); }; UsernamePassword.prototype.callback = function(formHtml) { var div; var form; var _document = windowHelper.getDocument(); div = _document.createElement('div'); div.innerHTML = formHtml; form = _document.body.appendChild(div).children[0]; form.submit(); }; export default UsernamePassword;