@accounts/client
Advanced tools
Comparing version 0.1.0-alpha.42868044 to 0.1.0-alpha.04203cca
import { Map } from 'immutable'; | ||
import { CreateUserType, LoginUserIdentityType, LoginReturnType, UserObjectType, TokensType, ImpersonateReturnType } from '@accounts/common'; | ||
import { CreateUserType, LoginReturnType, UserObjectType, TokensType, ImpersonateReturnType } from '@accounts/common'; | ||
import { AccountsClientConfiguration } from './config'; | ||
@@ -29,3 +29,6 @@ import { TransportInterface } from './transport-interface'; | ||
refreshSession(): Promise<void>; | ||
createUser(user: CreateUserType, callback?: (err?: Error) => void): Promise<void>; | ||
createUser(user: CreateUserType): Promise<void>; | ||
loginWithService(service: string, credentials: { | ||
[key: string]: string | object; | ||
}): Promise<LoginReturnType>; | ||
loggingIn(): boolean; | ||
@@ -43,3 +46,5 @@ isLoading(): boolean; | ||
createUser(user: CreateUserType, callback?: (err?: Error) => void): Promise<void>; | ||
loginWithPassword(user: LoginUserIdentityType, password: string, callback?: (err?: Error, res?: LoginReturnType) => void): Promise<void>; | ||
loginWithService(service: string, credentials: { | ||
[key: string]: string | object; | ||
}): Promise<LoginReturnType>; | ||
loggingIn(): boolean; | ||
@@ -46,0 +51,0 @@ isLoading(): boolean; |
@@ -66,3 +66,3 @@ "use strict"; | ||
function AccountsClient(options, transport) { | ||
this.options = options; | ||
this.options = __assign({}, config_1.default, options); | ||
this.storage = options.tokenStorage || config_1.default.tokenStorage; | ||
@@ -198,3 +198,2 @@ if (!transport) { | ||
this.store.dispatch(module_1.setTokens(res.tokens)); | ||
this.store.dispatch(module_1.setUser(res.user)); | ||
return [2, res]; | ||
@@ -364,3 +363,2 @@ } | ||
this.store.dispatch(module_1.setTokens(refreshedSession.tokens)); | ||
this.store.dispatch(module_1.setUser(refreshedSession.user)); | ||
_b.label = 6; | ||
@@ -384,3 +382,3 @@ case 6: return [3, 8]; | ||
}; | ||
AccountsClient.prototype.createUser = function (user, callback) { | ||
AccountsClient.prototype.createUser = function (user) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
@@ -410,5 +408,2 @@ var hashAlgorithm, userToCreate, userId, onUserCreated, err_3, err_4; | ||
onUserCreated = this.options.onUserCreated; | ||
if (callback && lodash_1.isFunction(callback)) { | ||
callback(); | ||
} | ||
if (!lodash_1.isFunction(onUserCreated)) return [3, 6]; | ||
@@ -429,5 +424,2 @@ _a.label = 3; | ||
err_4 = _a.sent(); | ||
if (callback && lodash_1.isFunction(callback)) { | ||
callback(err_4); | ||
} | ||
throw new common_1.AccountsError(err_4.message); | ||
@@ -439,2 +431,48 @@ case 8: return [2]; | ||
}; | ||
AccountsClient.prototype.loginWithService = function (service, credentials) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var response, onSignedInHook, err_5, err_6; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!lodash_1.isString(service)) { | ||
throw new common_1.AccountsError('Unrecognized options for login request'); | ||
} | ||
_a.label = 1; | ||
case 1: | ||
_a.trys.push([1, 8, , 9]); | ||
this.store.dispatch(module_1.loggingIn(true)); | ||
return [4, this.transport.loginWithService(service, credentials)]; | ||
case 2: | ||
response = _a.sent(); | ||
this.store.dispatch(module_1.loggingIn(false)); | ||
return [4, this.storeTokens(response.tokens)]; | ||
case 3: | ||
_a.sent(); | ||
this.store.dispatch(module_1.setTokens(response.tokens)); | ||
onSignedInHook = this.options.onSignedInHook; | ||
if (!lodash_1.isFunction(onSignedInHook)) return [3, 7]; | ||
_a.label = 4; | ||
case 4: | ||
_a.trys.push([4, 6, , 7]); | ||
return [4, onSignedInHook(response)]; | ||
case 5: | ||
_a.sent(); | ||
return [3, 7]; | ||
case 6: | ||
err_5 = _a.sent(); | ||
console.error(err_5); | ||
return [3, 7]; | ||
case 7: return [2, response]; | ||
case 8: | ||
err_6 = _a.sent(); | ||
this.clearTokens(); | ||
this.store.dispatch(module_1.clearUser()); | ||
this.store.dispatch(module_1.loggingIn(false)); | ||
throw new common_1.AccountsError(err_6.message); | ||
case 9: return [2]; | ||
} | ||
}); | ||
}); | ||
}; | ||
AccountsClient.prototype.loggingIn = function () { | ||
@@ -448,3 +486,3 @@ return this.getState().get('loggingIn'); | ||
return __awaiter(this, void 0, void 0, function () { | ||
var accessToken, err_5; | ||
var accessToken, err_7; | ||
return __generator(this, function (_a) { | ||
@@ -473,9 +511,9 @@ switch (_a.label) { | ||
case 4: | ||
err_5 = _a.sent(); | ||
err_7 = _a.sent(); | ||
this.clearTokens(); | ||
this.store.dispatch(module_1.clearUser()); | ||
if (callback && lodash_1.isFunction(callback)) { | ||
callback(err_5); | ||
callback(err_7); | ||
} | ||
throw new common_1.AccountsError(err_5.message); | ||
throw new common_1.AccountsError(err_7.message); | ||
case 5: return [2]; | ||
@@ -488,3 +526,3 @@ } | ||
return __awaiter(this, void 0, void 0, function () { | ||
var err_6; | ||
var err_8; | ||
return __generator(this, function (_a) { | ||
@@ -499,4 +537,4 @@ switch (_a.label) { | ||
case 2: | ||
err_6 = _a.sent(); | ||
throw new common_1.AccountsError(err_6.message); | ||
err_8 = _a.sent(); | ||
throw new common_1.AccountsError(err_8.message); | ||
case 3: return [2]; | ||
@@ -539,4 +577,4 @@ } | ||
}, | ||
loginWithPassword: function (user, password, callback) { | ||
return this.instance.loginWithPassword(user, password, callback); | ||
loginWithService: function (service, credentials) { | ||
return this.instance.loginWithService(service, credentials); | ||
}, | ||
@@ -543,0 +581,0 @@ loggingIn: function () { |
@@ -61,7 +61,2 @@ import { AccountsCommonConfiguration, HookListener, PasswordSignupFields } from '@accounts/common'; | ||
signOutPath: string; | ||
onEnrollAccountHook: () => number; | ||
onResetPasswordHook: () => number; | ||
onVerifyEmailHook: () => number; | ||
onSignedInHook: () => number; | ||
onSignedOutHook: () => number; | ||
loginOnSignUp: boolean; | ||
@@ -68,0 +63,0 @@ persistImpersonation: boolean; |
@@ -12,4 +12,2 @@ "use strict"; | ||
var common_1 = require("@accounts/common"); | ||
var accounts_client_1 = require("./accounts-client"); | ||
var redirect_1 = require("./redirect"); | ||
var localStorageToTokenStorage = function () { | ||
@@ -31,9 +29,3 @@ return { | ||
}; | ||
exports.default = __assign({}, common_1.config, { store: null, reduxLogger: null, reduxStoreKey: 'accounts', tokenStorage: localStorageToTokenStorage(), server: '', tokenStoragePrefix: '', title: '', requestPermissions: [], requestOfflineToken: {}, forceApprovalPrompt: {}, requireEmailVerification: false, loginPath: '/', signUpPath: null, resetPasswordPath: null, profilePath: '/', changePasswordPath: null, homePath: '/', signOutPath: '/', onEnrollAccountHook: function () { | ||
return redirect_1.default(accounts_client_1.default.options().loginPath || '/'); | ||
}, onResetPasswordHook: function () { | ||
return redirect_1.default(accounts_client_1.default.options().loginPath || '/'); | ||
}, onVerifyEmailHook: function () { | ||
return redirect_1.default(accounts_client_1.default.options().profilePath || '/'); | ||
}, onSignedInHook: function () { return redirect_1.default(accounts_client_1.default.options().homePath || '/'); }, onSignedOutHook: function () { return redirect_1.default(accounts_client_1.default.options().signOutPath || '/'); }, loginOnSignUp: true, persistImpersonation: true }); | ||
exports.default = __assign({}, common_1.config, { store: null, reduxLogger: null, reduxStoreKey: 'accounts', tokenStorage: localStorageToTokenStorage(), server: '', tokenStoragePrefix: '', title: '', requestPermissions: [], requestOfflineToken: {}, forceApprovalPrompt: {}, requireEmailVerification: false, loginPath: '/', signUpPath: null, resetPasswordPath: null, profilePath: '/', changePasswordPath: null, homePath: '/', signOutPath: '/', loginOnSignUp: true, persistImpersonation: true }); | ||
//# sourceMappingURL=config.js.map |
import { CreateUserType, LoginReturnType, ImpersonateReturnType } from '@accounts/common'; | ||
export interface TransportInterface { | ||
createUser(user: CreateUserType): Promise<string>; | ||
loginWithService(service: string, authenticateParams: { | ||
[key: string]: string | object; | ||
}): Promise<LoginReturnType>; | ||
logout(accessToken: string): Promise<void>; | ||
@@ -5,0 +8,0 @@ refreshTokens(accessToken: string, refreshToken: string): Promise<LoginReturnType>; |
{ | ||
"name": "@accounts/client", | ||
"version": "0.1.0-alpha.42868044", | ||
"version": "0.1.0-alpha.04203cca", | ||
"description": "Fullstack authentication and accounts-management", | ||
@@ -15,6 +15,7 @@ "main": "lib/index.js", | ||
"compile": "tsc", | ||
"prepublish": "npm run compile", | ||
"prepublishOnly": "npm run compile", | ||
"test": "npm run testonly", | ||
"test-ci": "npm lint && npm coverage", | ||
"testonly": "jest", | ||
"test:watch": "jest --watch", | ||
"coverage": "npm run testonly -- --coverage", | ||
@@ -54,3 +55,2 @@ "coveralls": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage" | ||
"coveralls": "^2.11.14", | ||
"flow-bin": "0.41.0", | ||
"jest": "^20.0.4", | ||
@@ -64,3 +64,3 @@ "jsonwebtoken": "^7.4.1", | ||
"dependencies": { | ||
"@accounts/common": "^0.1.0-alpha.42868044", | ||
"@accounts/common": "^0.1.0-alpha.04203cca", | ||
"crypto-js": "^3.1.9-1", | ||
@@ -67,0 +67,0 @@ "immutable": "^3.8.1", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
8
61584
28
1012