2.0.2-alpha7 • Published 6 years ago

@tanker/fake-authentication v2.0.2-alpha7

Weekly downloads
116
License
Apache-2.0
Repository
github
Last release
6 years ago

Tanker Fake Authentication

This package aims at reducing the friction when starting new projects, by delaying the integration of Tanker identity in your application server. It interacts with a Tanker server, that stores private identities. getPrivateIdentity returns the private identity associated to the provided user id. If it is a new user id a new private identity is created. Those private identities can then be used to start a Tanker session.

getPublicIdentities can be used to return a list of public identities from a list of user ids (missing identities are created on the spot). The returned list can be passed to functions that expect a list of users to share with.

API

Construction

import FakeAuthentication from '@tanker/fake-authentication';

const fakeAuth = new FakeAuthentication(appId);

Get a private identity

Returns the private identity associated to the provided user id. If getPublicIdentities has been called with this user id, a private provisional identity is also returned.

With an email

const userId = 'cedric@sample.com';
const {privateIdentity, privateProvisionalIdentity} = await fakeAuth.getPrivateIdentity(userId);

With a user id

const userId = 'silvie';
const {privateIdentity, privateProvisionalIdentity} = await fakeAuth.getPrivateIdentity(userId);

With a generated user id

It is possible to ask getPrivateIdentity to generate a user id for you. There is no provisional identity, because the user id has been generated and we are sure no one shared with it.

const {userId, privateIdentity} = await fakeAuth.getPrivateIdentity();

How to use the returned identity

With FileKit
await fileKit.start(email, privateIdentity);
With Tanker
const status = await tanker.start(privateIdentity);
switch(status) {
  case 'IDENTITY_REGISTRATION_NEEDED': {
    const verifCode = fetchIt(); // TODO
    await tanker.registerIdentity(email, verifCode);
    await tanker.attachProvisionalIdentity(privateProvisionalIdentity);
    break;
  }
  case 'IDENTITY_VERIFICATION_NEEDED': {
    const verifCode = fetchIt(); // TODO
    await tanker.verifyIdentity(verifCode);
    break;
  }
}
With the verification UI
// tanker.start not needed here. (done by the verif)
const verifUI = new VerificationUI(tanker);
await verifUI.start(email, privateIdentity, privateProvisionalIdentity);
// tanker is now ready
With FileKit (Anonymous)

In that case FileKit will start Tanker, register a verificationKey and drop it.

await filekit.startAnonymous(privateIdentity);
With Tanker (Anonymous)
tanker.start(privateIdentity);
const verificationKey = await tanker.generateVerificationKey()
await tanker.registerIdentity({verificationKey});
// to get back access to the data store the verificationKey and the PrivateIdentity? (to have the userId)

// TO BE ADDED TO TANKER AS SOMETHING LIKE:
const verificationKey = await tanker.startWithVerificationKey(privateIdentity);

Get public identities

Returns an object mapping the user ids to the public identities.

const userIds = ['alice@sample.io', 'bob@company.com'];
const publicIdentities = await fakeAuth.getPublicIdentities(userIds);

// then use it with Tanker or FileKit
tanker.encrypt(someData, { shareWithUsers: Object.values(publicIdentities) });
filekit.upload(someFile, { shareWith: Object.values(publicIdentities) });
3.0.0

3 years ago

3.0.0-beta1

3 years ago

3.0.0-alpha1

3 years ago

2.32.2

3 years ago

2.32.2-beta1

3 years ago

2.32.0

3 years ago

2.32.1

3 years ago

2.32.0-alpha42

3 years ago

2.32.1-beta1

3 years ago

2.32.0-beta6

3 years ago

2.32.0-beta7

3 years ago

2.32.0-beta4

3 years ago

2.32.0-beta2

3 years ago

2.30.0

4 years ago

2.32.0-alpha1

3 years ago

2.31.0-beta1

4 years ago

2.31.0

4 years ago

2.29.0-beta1

4 years ago

2.29.1-beta1

4 years ago

2.29.0

4 years ago

2.29.1

4 years ago

2.31.0-alpha1

4 years ago

2.30.0-beta3

4 years ago

2.30.0-beta2

4 years ago

2.30.0-beta1

4 years ago

2.30.0-alpha2

4 years ago

2.30.0-alpha3

4 years ago

2.30.0-alpha1

4 years ago

2.29.0-alpha1

4 years ago

2.28.0-beta1

4 years ago

2.28.0

4 years ago

2.27.0

4 years ago

2.26.0

4 years ago

2.26.0-beta1

4 years ago

2.26.0-alpha1

4 years ago

2.26.0-alpha2

4 years ago

2.27.0-beta1

4 years ago

2.27.0-alpha1

4 years ago

2.24.0-beta3

4 years ago

2.24.0-beta1

4 years ago

2.23.2-alpha1

4 years ago

2.23.2-alpha2

4 years ago

2.23.2-alpha3

4 years ago

2.23.2-alpha4

4 years ago

2.23.2-alpha5

4 years ago

2.24.1-alpha0

4 years ago

2.24.1-alpha1

4 years ago

2.25.0-beta1

4 years ago

2.24.1-alpha2

4 years ago

2.24.1-alpha3

4 years ago

2.24.0-alpha1

4 years ago

2.24.1-alpha4

4 years ago

2.25.0

4 years ago

2.25.0-alpha2

4 years ago

2.25.0-alpha3

4 years ago

2.25.0-alpha1

4 years ago

2.24.1

4 years ago

2.24.0

4 years ago

2.23.1

4 years ago

2.23.1-alpha10

4 years ago

2.23.1-beta1

4 years ago

2.23.1-alpha7

4 years ago

2.23.1-alpha8

4 years ago

2.23.1-alpha6

4 years ago

2.23.1-alpha3

4 years ago

2.23.1-alpha4

4 years ago

2.23.1-alpha1

4 years ago

2.23.1-alpha2

4 years ago

2.23.0-beta3

4 years ago

2.23.0-beta2

4 years ago

2.23.0

4 years ago

2.23.0-alpha6

4 years ago

2.23.0-beta1

4 years ago

2.23.0-alpha5

4 years ago

2.23.0-alpha4

4 years ago

2.22.0

4 years ago

2.22.0-alpha1

4 years ago

2.21.0-beta1

4 years ago

2.21.0

4 years ago

2.21.0-alpha1

4 years ago

2.20.1-alpha1

4 years ago

2.20.0

4 years ago

2.20.0-beta1

4 years ago

2.19.1-beta1

4 years ago

2.19.1

4 years ago

2.19.0

4 years ago

2.19.0-beta1

4 years ago

2.17.2-alpha1

4 years ago

2.15.1

4 years ago

2.18.0

4 years ago

2.17.1

4 years ago

2.16.1

4 years ago

2.17.1-beta1

4 years ago

2.17.0-alpha1

4 years ago

2.17.0

4 years ago

2.16.0

4 years ago

2.16.0-beta1

4 years ago

2.15.0-beta1

4 years ago

2.15.0

4 years ago

2.15.0-alpha2

4 years ago

2.15.0-alpha3

4 years ago

2.15.0-alpha1

4 years ago

2.14.0

4 years ago

2.14.0-beta1

4 years ago

2.14.0-alpha2

4 years ago

2.13.2-beta1

4 years ago

2.13.2-beta2

4 years ago

2.13.1-beta1

4 years ago

2.13.1

4 years ago

2.13.0

4 years ago

2.13.0-beta1

4 years ago

2.12.1-beta1

5 years ago

2.12.0-beta1

5 years ago

2.12.0

5 years ago

2.12.0-alpha2

5 years ago

2.12.0-alpha1

5 years ago

2.11.1-alpha3

5 years ago

2.11.0

5 years ago

2.11.0-beta1

5 years ago

2.11.0-alpha1

5 years ago

2.10.0-beta1

5 years ago

2.10.0

5 years ago

2.9.2-alpha3

5 years ago

2.9.2-alpha2

5 years ago

2.9.2-alpha1

5 years ago

2.9.1

5 years ago

2.9.1-beta2

5 years ago

2.9.1-alpha2

5 years ago

2.9.1-alpha1

5 years ago

2.9.0

5 years ago

2.9.0-alpha1

5 years ago

2.9.0-beta1

5 years ago

2.8.0

5 years ago

2.8.0-beta1

5 years ago

2.7.0

5 years ago

2.6.5-alpha1

5 years ago

2.6.4

5 years ago

2.6.4-beta1

5 years ago

2.6.4-beta2

5 years ago

2.6.3

5 years ago

2.6.3-beta1

5 years ago

2.6.2-beta1

5 years ago

2.6.2-beta2

5 years ago

2.6.2

5 years ago

2.6.1

5 years ago

2.6.1-beta1

5 years ago

2.6.0

5 years ago

2.6.0-beta2

5 years ago

2.6.0-beta1

5 years ago

2.5.1-alpha2

5 years ago

2.5.1-alpha1

5 years ago

2.5.0-beta1

5 years ago

2.5.0

5 years ago

2.4.0

5 years ago

2.4.0-beta1

5 years ago

2.3.1

6 years ago

2.3.1-beta1

6 years ago

2.3.1-beta2

6 years ago

2.3.0

6 years ago

2.3.0-beta1

6 years ago

2.2.7-beta1

6 years ago

2.2.7

6 years ago

2.2.6

6 years ago

2.2.6-alpha1

6 years ago

2.2.5

6 years ago

2.2.5-beta1

6 years ago

2.2.4

6 years ago

2.2.4-beta1

6 years ago

2.2.3

6 years ago

2.2.3-beta1

6 years ago

2.2.2

6 years ago

2.2.2-beta1

6 years ago

2.2.1

6 years ago

2.2.1-beta2

6 years ago

2.2.1-beta1

6 years ago

2.2.0

6 years ago

2.2.0-beta1

6 years ago

2.1.4

6 years ago

2.1.4-beta1

6 years ago

2.1.3

6 years ago

2.1.2

6 years ago

2.1.2-beta3

6 years ago

2.1.2-beta2

6 years ago

2.1.2-beta1

6 years ago

2.1.1

6 years ago

2.1.1-beta3

6 years ago

2.1.1-beta2

6 years ago

2.1.1-beta1

6 years ago

2.0.2-alpha16

6 years ago

2.0.2-alpha15

6 years ago

2.0.2-alpha14

6 years ago

2.0.2-alpha13

6 years ago

2.0.2-alpha12

6 years ago

2.0.2-alpha11

6 years ago

2.0.2-alpha9

6 years ago

2.0.2-alpha8

6 years ago

2.0.2-alpha7

6 years ago

2.0.2-alpha5

6 years ago

2.0.2-alpha4

6 years ago

2.0.2-alpha3

6 years ago