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(); } }