user.js 742 B

123456789101112131415161718192021222324252627282930
  1. /* global Android */
  2. import User from '../app/user';
  3. import { deriveFileListKey } from '../app/fxa';
  4. export default class AndroidUser extends User {
  5. constructor(storage, limits) {
  6. super(storage, limits);
  7. }
  8. async login() {
  9. Android.beginOAuthFlow();
  10. }
  11. startAuthFlow() {
  12. return Promise.resolve();
  13. }
  14. async finishLogin(accountInfo) {
  15. const jwks = JSON.parse(accountInfo.keys);
  16. const ikm = jwks['https://identity.mozilla.com/apps/send'].k;
  17. const profile = {
  18. displayName: accountInfo.displayName,
  19. email: accountInfo.email,
  20. avatar: accountInfo.avatar,
  21. access_token: accountInfo.accessToken
  22. };
  23. profile.fileListKey = await deriveFileListKey(ikm);
  24. this.info = profile;
  25. }
  26. }