1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { HttpClient } from '@angular/common/http';
- import { Injectable } from '@angular/core';
- import { Storage } from '@ionic/storage';
- import firebase from "firebase";
- @Injectable()
- export class AuthProvider {
- authProvider: any;
- constructor(public http: HttpClient, private storage: Storage) {
- console.log('Hello AuthProvider Provider');
- var config = {
- apiKey: "AIzaSyCMYjjtPPZak7wBBnh9sy8Yr3Fz1145MuM",
- authDomain: "hybridosn.firebaseapp.com",
- databaseURL: "https://hybridosn.firebaseio.com",
- storageBucket: "hybridosn.appspot.com",
- };
- firebase.initializeApp(config);
- this.authProvider = new firebase.auth.TwitterAuthProvider();
- this.authProvider.setCustomParameters({
- 'lang': 'de'
- });
- }
- isLoggedIn() {
- return Promise.all([this.storage.get('accessTokenKey'), this.storage.get('accessTokenSecret')])
- .then(values => {
- return values[0] != null && values[1] != null;
- })
- .catch(err => {
- console.log(err);
- return false;
- });
- }
- login() {
- return firebase.auth().signInWithRedirect(this.authProvider)
- .then(() => { return firebase.auth().getRedirectResult()})
- .then(result => {
- this.storage.set('accessTokenKey', result.credential["accessToken"]);
- this.storage.set('accessTokenSecret', result.credential["secret"]);
- return true;
- })
- .catch(error => {
- console.log(error);
- return false;
- })
- }
- logout() {
- this.storage.clear();
- }
- }
|