{"id":5435,"date":"2017-06-04T22:25:34","date_gmt":"2017-06-04T20:25:34","guid":{"rendered":"https:\/\/www.tomislavstankovic.com\/blog\/?p=5435"},"modified":"2019-01-05T19:54:43","modified_gmt":"2019-01-05T17:54:43","slug":"ionic-firebase-registracija-prijava","status":"publish","type":"post","link":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/","title":{"rendered":"Ionic 3 &#8211; Firebase registracija i prijava"},"content":{"rendered":"<p>Kada razvijate <em>Ionic<\/em> aplikaciju i do\u0111ete do faze u kojoj trebate funkcionalnosti kao \u0161to su registracija i prijava korisnika imate dvije mogu\u0107nosti. <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/jednostavan-nodejs-expressjs-rest-api\/\" target=\"_blank\" rel=\"noopener noreferrer\">Napraviti vlastiti <em>API<\/em><\/a> ili koristiti neki vanjski servis kao \u0161to su npr. <a href=\"https:\/\/firebase.google.com\/products\/auth\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong><em>Google Firebase<\/em><\/strong><\/a> i <a href=\"https:\/\/auth0.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em>Auth0<\/em><\/a>. U prvom slu\u010daju imate vi\u0161e kontrole jer to\u010dno znate za\u0161to ste ne\u0161to napravili dok u drugom slu\u010daju imate vi\u0161e sigurnosti jer velike tvrtke stoje iza usluga koje pru\u017eaju i na kojima radi puno developera.<\/p>\n<p><iframe loading=\"lazy\" width=\"853\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/8sGY55yxicA?rel=0&amp;showinfo=0\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2>Postavljanje Firebase projekta<\/h2>\n<p>Za po\u010detak je na adresi <a href=\"https:\/\/console.firebase.google.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/console.firebase.google.com\/<\/a> potrebno kreirati projekt.<\/p>\n<p>Nakon postavljanja projekta u izborniku <em>Authentication<\/em> odabrat \u0107emo <em>Email\/Password<\/em> metodu. To \u0107e nam omogu\u0107iti da se u <em>Ionic<\/em> aplikaciju registriramo tj. prijavimo koriste\u0107i email i lozinku.<br \/>\n<a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAuthenticationMethod.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5443\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAuthenticationMethod.png\" alt=\"GoogleFirebase Authentication Method\" width=\"1232\" height=\"805\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAuthenticationMethod.png 1232w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAuthenticationMethod-300x196.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAuthenticationMethod-768x502.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAuthenticationMethod-1024x669.png 1024w\" sizes=\"auto, (max-width: 1232px) 100vw, 1232px\" \/><\/a><\/p>\n<p>Sada \u0107emo se prebaciti na po\u010detnu stranicu na\u0161eg <em>Google Firebase<\/em> projekta i kliknuti na <em><strong>Add Firebase to your web app<\/strong><\/em> prilikom \u010dega \u0107emo dobiti <span class=\"lang:js decode:true crayon-inline \">config<\/span> objekt koji \u0107emo koristiti unutar aplikacije.<br \/>\n<a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseConfigObject.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5446\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseConfigObject.png\" alt=\"GoogleFirebase Config Object\" width=\"1012\" height=\"681\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseConfigObject.png 1012w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseConfigObject-300x202.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseConfigObject-768x517.png 768w\" sizes=\"auto, (max-width: 1012px) 100vw, 1012px\" \/><\/a><\/p>\n<h2>Postavljanje Firebasea u Ionic<\/h2>\n<p>Ranije preuzet <span class=\"lang:js decode:true crayon-inline \">config<\/span> objekt mo\u017eemo odmah dodati unutar aplikacije, a nalazit \u0107e se unutar datoteke <span class=\"lang:default decode:true crayon-inline \">app.firebase.config.ts<\/span> koju \u0107emo ru\u010dno kreirati.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/IonicFirebaseConfig.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-5450\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/IonicFirebaseConfig.png\" alt=\"IonicFirebase Config\" width=\"1001\" height=\"354\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/IonicFirebaseConfig.png 1001w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/IonicFirebaseConfig-300x106.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/IonicFirebaseConfig-768x272.png 768w\" sizes=\"auto, (max-width: 1001px) 100vw, 1001px\" \/><\/a><\/p>\n<p>Me\u0111utim, taj nam <span class=\"lang:js decode:true crayon-inline\">config<\/span> objekt ni\u010demu ne slu\u017ei dok ne dodamo dva paketa koji znaju \u0161to s njima raditi. A to su:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/firebase\" target=\"_blank\" rel=\"noopener noreferrer\">firebase<\/a><\/li>\n<li><a href=\"https:\/\/www.npmjs.com\/package\/angularfire2\" target=\"_blank\" rel=\"noopener noreferrer\">angularfire2<\/a><\/li>\n<\/ul>\n<p>koje instaliramo naredbom<\/p>\n<pre class=\"lang:sh decode:true \">$ npm install firebase angularfire2 --save<\/pre>\n<p>I nakon toga, kao \u0161to vam je i poznato, trebamo ih uvesti u  <span class=\"lang:default decode:true  crayon-inline \" >app.module.ts<\/span> <\/p>\n<pre class=\"lang:js mark:7-9,20-21 decode:true \" title=\"app.module.ts\" >import { BrowserModule } from '@angular\/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular\/core';\r\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\r\nimport { SplashScreen } from '@ionic-native\/splash-screen';\r\nimport { StatusBar } from '@ionic-native\/status-bar';\r\n\r\nimport { FIREBASE_CONFIG } from '.\/app.firebase.config';\r\nimport { AngularFireModule } from 'angularfire2';\r\nimport { AngularFireAuthModule } from 'angularfire2\/auth';\r\n\r\nimport { MyApp } from '.\/app.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    MyApp\r\n  ],\r\n  imports: [\r\n    BrowserModule,\r\n    IonicModule.forRoot(MyApp),\r\n    AngularFireModule.initializeApp(FIREBASE_CONFIG),\r\n    AngularFireAuthModule\r\n  ],\r\n  bootstrap: [IonicApp],\r\n  entryComponents: [\r\n    MyApp\r\n  ],\r\n  providers: [\r\n    StatusBar,\r\n    SplashScreen,\r\n    {provide: ErrorHandler, useClass: IonicErrorHandler}\r\n  ]\r\n})\r\nexport class AppModule {}<\/pre>\n<p>Sada imamo sve \u0161to nam je potrebno kako bi korisnicima <em>Ionic<\/em> aplikacije omogu\u0107ili registraciju i prijavu koriste\u0107i email i lozinku.<\/p>\n<h2>Kreiranje stranica za registraciju i prijavu<\/h2>\n<p>Stranice za registraciju i prijavu kreiramo sljede\u0107im naredbama<\/p>\n<pre class=\"lang:sh decode:true \" >\r\n$ ionic generate page Prijava \r\n$ ionic generate page Registracija<\/pre>\n<p>Nakon toga \u0107emo odmah postaviti stranicu za prijavu kao zadanu umjesto dosada\u0161nje <em>Home<\/em> stranice.<\/p>\n<pre class=\"lang:js mark:10 decode:true \" title=\"app.component.ts\" >import { Component } from '@angular\/core';\r\nimport { Platform } from 'ionic-angular';\r\nimport { StatusBar } from '@ionic-native\/status-bar';\r\nimport { SplashScreen } from '@ionic-native\/splash-screen';\r\n\r\n@Component({\r\n  templateUrl: 'app.html'\r\n})\r\nexport class MyApp {\r\n  rootPage:any = 'PrijavaPage';\r\n\r\n  constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {\r\n    platform.ready().then(() =&gt; {\r\n      statusBar.styleDefault();\r\n      splashScreen.hide();\r\n    });\r\n  }\r\n}<\/pre>\n<h3>Registracija<\/h3>\n<p>Iako korisnika mo\u017eemo ru\u010dno dodati direktno u <em>Firebase<\/em> su\u010delju mi \u0107emo ga registrirati kroz na\u0161u <em>Ionic<\/em> aplikaciju.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAddUser.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAddUser.png\" alt=\"GoogleFirebase Add User\" width=\"838\" height=\"535\" class=\"aligncenter size-full wp-image-5464\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAddUser.png 838w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAddUser-300x192.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseAddUser-768x490.png 768w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \/><\/a><\/p>\n<p>Sada \u0107emo napraviti formu putem koje \u0107e se korisnici registrirati. Forma se sastoji od dva polja. U prvo se polje unosi <em>e-mail<\/em>, a u drugo lozinka. Na kraju imamo gumb sa funkcijom  <span class=\"lang:js decode:true  crayon-inline \" >registracija()<\/span>  u kojoj se proslje\u0111uje objekt  <span class=\"lang:js decode:true  crayon-inline \" >user<\/span> .<\/p>\n<pre class=\"lang:xhtml decode:true \" title=\"registracija.html\" >&lt;ion-header&gt;\r\n  &lt;ion-navbar color=\"primary\"&gt;\r\n    &lt;ion-title&gt;Registracija&lt;\/ion-title&gt;\r\n  &lt;\/ion-navbar&gt;\r\n&lt;\/ion-header&gt;\r\n\r\n&lt;ion-content padding&gt;\r\n\r\n  &lt;ion-item&gt;\r\n&lt;ion-label floating&gt;E-mail&lt;\/ion-label&gt;\r\n&lt;ion-input type=\"text\" [(ngModel)]=\"user.email\"&gt;&lt;\/ion-input&gt;\r\n&lt;\/ion-item&gt;\r\n\r\n&lt;ion-item&gt;\r\n&lt;ion-label floating&gt;Password&lt;\/ion-label&gt;\r\n&lt;ion-input type=\"password\" [(ngModel)]=\"user.password\"&gt;&lt;\/ion-input&gt;\r\n&lt;\/ion-item&gt;\r\n\r\n&lt;ion-row padding&gt;\r\n  &lt;ion-col&gt;\r\n&lt;button ion-button (click)=\"registracija(user)\"&gt;Registracija&lt;\/button&gt;\r\n   &lt;\/ion-col&gt;\r\n&lt;\/ion-row&gt;\r\n\r\n&lt;\/ion-content&gt;<\/pre>\n<p>Logika stranice za registraciju nalazi se unutar  <span class=\"lang:default decode:true  crayon-inline \" >registracija.ts<\/span> <\/p>\n<pre class=\"lang:js mark:3,12,16,19-22 decode:true \" title=\"registracija.ts\" >import { Component } from '@angular\/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AngularFireAuth } from 'angularfire2\/auth';\r\n\r\n@IonicPage()\r\n@Component({\r\n  selector: 'page-registracija',\r\n  templateUrl: 'registracija.html',\r\n})\r\nexport class RegistracijaPage {\r\n\r\n  user = {email: '', password: ''};\r\n\r\n  constructor(public _navCtrl: NavController, \r\n              public _navParams: NavParams, \r\n              private _auth: AngularFireAuth) {\r\n  }\r\n\r\n  registracija(){\r\n    const result = this._auth.auth.createUserWithEmailAndPassword(this.user.email, this.user.password);\r\n    console.log(result);\r\n  }\r\n\r\n}<\/pre>\n<p>Proces registracije na kraju izgleda ovako:<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseRegistracija.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebaseRegistracija.gif\" alt=\"GoogleFirebase Registracija\" width=\"1848\" height=\"819\" class=\"aligncenter size-full wp-image-5465\" \/><\/a><\/p>\n<h3>Prijava<\/h3>\n<p>Stranica za prijavu tako\u0111er se sastoji od forme za unos s dva polja (<em>e-mail<\/em> i lozinka), ali ra razliku od stranice za registraciju ova stranica ima dva gumba. Jedan koji slu\u017ei za prijavu  <span class=\"lang:js decode:true  crayon-inline \" >prijava(user)<\/span> , a drugi  <span class=\"lang:js decode:true  crayon-inline \" >idNaRegistraciju()<\/span>  koji vodi na stranicu tj. formu za registraciju.<\/p>\n<pre class=\"lang:xhtml decode:true \" title=\"prijava.html\" >&lt;ion-item&gt;\r\n&lt;ion-label floating&gt;E-mail&lt;\/ion-label&gt;\r\n&lt;ion-input type=\"text\" [(ngModel)]=\"user.email\"&gt;&lt;\/ion-input&gt;\r\n&lt;\/ion-item&gt;\r\n\r\n&lt;ion-item&gt;\r\n&lt;ion-label floating&gt;Password&lt;\/ion-label&gt;\r\n&lt;ion-input type=\"password\" [(ngModel)]=\"user.password\"&gt;&lt;\/ion-input&gt;\r\n&lt;\/ion-item&gt;\r\n\r\n&lt;ion-row padding&gt;\r\n  &lt;ion-col&gt;\r\n&lt;button ion-button (click)=\"prijava(user)\"&gt;Prijava&lt;\/button&gt;\r\n   &lt;\/ion-col&gt;\r\n   &lt;ion-col&gt;\r\n&lt;button ion-button color=\"light\" (click)=\"idiNaRegistraciju()\"&gt;Registracija&lt;\/button&gt;\r\n  &lt;\/ion-col&gt;\r\n&lt;\/ion-row&gt;\r\n\r\n&lt;\/ion-content&gt;<\/pre>\n<p>Logika komponente za prijavu malo je pro\u0161irena za razliku od one za registraciju. Sastoji se od dvije funkcije. <\/p>\n<p>Funkcija <span class=\"lang:js decode:true  crayon-inline \" >prijava(user)<\/span> obavlja dvije radnje. Vr\u0161i prijavu i obavlja redirekciju na stranicu  <span class=\"lang:js decode:true  crayon-inline \" >HomePage<\/span> u slu\u010daju kada je prijava uspje\u0161na.<\/p>\n<pre class=\"lang:js mark:3,12,16,19-25,27-29 decode:true \" title=\"prijava.ts\" >import { Component } from '@angular\/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AngularFireAuth } from 'angularfire2\/auth';\r\n\r\n@IonicPage()\r\n@Component({\r\n  selector: 'page-prijava',\r\n  templateUrl: 'prijava.html',\r\n})\r\nexport class PrijavaPage {\r\n\r\n  user = {email: '', password: ''};\r\n\r\n  constructor(public _navCtrl: NavController, \r\n              public _navParams: NavParams,\r\n              private _auth: AngularFireAuth) {\r\n  }\r\n\r\n  prijava(user){\r\n    const result = this._auth.auth.signInWithEmailAndPassword(user.email, user.password);\r\n    if(result){\r\n    console.log(result);\r\n    this._navCtrl.push('HomePage');\r\n    }\r\n  }\r\n\r\n  idiNaRegistraciju(){\r\n     this._navCtrl.push('RegistracijaPage');\r\n  }\r\n\r\n}<\/pre>\n<p>Proces prijave izgleda ovako:<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebasePrijava.gif\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/GoogleFirebasePrijava.gif\" alt=\"GoogleFirebase Prijava\" width=\"1092\" height=\"759\" class=\"aligncenter size-full wp-image-5470\" \/><\/a><\/p>\n<h2>Zaklju\u010dak<\/h2>\n<p>I to je sve! Vidjeli ste primjer <em>Google Firebase<\/em> registracije i prijave za <em>Ionic<\/em> 3 projekt. Dalje si mo\u017eete ugraditi <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic-automatska-prijava\/\" target=\"_blank\">mogu\u0107nost pam\u0107enja prijave<\/a> tako da se jednom prijavljeni korisnik ne mora prijaviti svaki put kada pokrene aplikaciju. <\/p>\n<p><em>Google Firebase Auth <\/em>odli\u010dna je opcija kada \u017eelite pokriti podru\u010dje registracije i prijave. Za kratko vrijeme mo\u017eete dobiti funkcionalnu aplikaciju spremnu za implementaciju ostalih funkcionalnosti. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kada razvijate Ionic aplikaciju i do\u0111ete do faze u kojoj trebate funkcionalnosti kao \u0161to su registracija i prijava korisnika imate dvije mogu\u0107nosti. Napraviti vlastiti API ili koristiti neki vanjski servis kao \u0161to su npr. Google Firebase i Auth0. U prvom slu\u010daju imate vi\u0161e kontrole jer to\u010dno znate za\u0161to ste ne\u0161to napravili dok u drugom slu\u010daju &hellip; <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/\" class=\"more-link\">Nastavi \u010ditati <span class=\"screen-reader-text\">Ionic 3 &#8211; Firebase registracija i prijava<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":5436,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[564,351],"tags":[414,385,400,410,413],"class_list":["post-5435","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile","category-razvoj","tag-auth","tag-google-firebase","tag-ionic-3","tag-prijava","tag-registracija"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ionic 3 - Firebase registracija i prijava - Tomislav Stankovi\u0107<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/\" \/>\n<meta property=\"og:locale\" content=\"hr_HR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ionic 3 - Firebase registracija i prijava - Tomislav Stankovi\u0107\" \/>\n<meta property=\"og:description\" content=\"Kada razvijate Ionic aplikaciju i do\u0111ete do faze u kojoj trebate funkcionalnosti kao \u0161to su registracija i prijava korisnika imate dvije mogu\u0107nosti. Napraviti vlastiti API ili koristiti neki vanjski servis kao \u0161to su npr. Google Firebase i Auth0. U prvom slu\u010daju imate vi\u0161e kontrole jer to\u010dno znate za\u0161to ste ne\u0161to napravili dok u drugom slu\u010daju &hellip; Nastavi \u010ditati Ionic 3 &#8211; Firebase registracija i prijava\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta property=\"article:published_time\" content=\"2017-06-04T20:25:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-05T17:54:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/ionic3-firebase-registracija-prijava.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisao\/la\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tomislav Stankovi\u0107\" \/>\n\t<meta name=\"twitter:label2\" content=\"Procijenjeno vrijeme \u010ditanja\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minuta\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/\"},\"author\":{\"name\":\"Tomislav Stankovi\u0107\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"headline\":\"Ionic 3 &#8211; Firebase registracija i prijava\",\"datePublished\":\"2017-06-04T20:25:34+00:00\",\"dateModified\":\"2019-01-05T17:54:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/\"},\"wordCount\":535,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/ionic3-firebase-registracija-prijava.jpg\",\"keywords\":[\"auth\",\"Google Firebase\",\"Ionic 3\",\"prijava\",\"registracija\"],\"articleSection\":[\"Mobile\",\"Razvoj\"],\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/\",\"name\":\"Ionic 3 - Firebase registracija i prijava - Tomislav Stankovi\u0107\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/ionic3-firebase-registracija-prijava.jpg\",\"datePublished\":\"2017-06-04T20:25:34+00:00\",\"dateModified\":\"2019-01-05T17:54:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#breadcrumb\"},\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/ionic3-firebase-registracija-prijava.jpg\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/06\\\/ionic3-firebase-registracija-prijava.jpg\",\"width\":825,\"height\":510,\"caption\":\"Ionic 3 - Firebase registracija i prijava\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-firebase-registracija-prijava\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna stranica\",\"item\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ionic 3 &#8211; Firebase registracija i prijava\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"name\":\"Tomislav Stankovi\u0107\",\"description\":\"Sam svoj bloger\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\",\"name\":\"Tomislav Stankovi\u0107\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"width\":248,\"height\":165,\"caption\":\"Tomislav Stankovi\u0107\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\"},\"description\":\"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.\",\"sameAs\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/tomislavstankovic\\\/\"],\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/author\\\/tomislavstankovic\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ionic 3 - Firebase registracija i prijava - Tomislav Stankovi\u0107","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/","og_locale":"hr_HR","og_type":"article","og_title":"Ionic 3 - Firebase registracija i prijava - Tomislav Stankovi\u0107","og_description":"Kada razvijate Ionic aplikaciju i do\u0111ete do faze u kojoj trebate funkcionalnosti kao \u0161to su registracija i prijava korisnika imate dvije mogu\u0107nosti. Napraviti vlastiti API ili koristiti neki vanjski servis kao \u0161to su npr. Google Firebase i Auth0. U prvom slu\u010daju imate vi\u0161e kontrole jer to\u010dno znate za\u0161to ste ne\u0161to napravili dok u drugom slu\u010daju &hellip; Nastavi \u010ditati Ionic 3 &#8211; Firebase registracija i prijava","og_url":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/","og_site_name":"Tomislav Stankovi\u0107","article_published_time":"2017-06-04T20:25:34+00:00","article_modified_time":"2019-01-05T17:54:43+00:00","og_image":[{"width":825,"height":510,"url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/ionic3-firebase-registracija-prijava.jpg","type":"image\/jpeg"}],"author":"Tomislav Stankovi\u0107","twitter_card":"summary_large_image","twitter_misc":{"Napisao\/la":"Tomislav Stankovi\u0107","Procijenjeno vrijeme \u010ditanja":"5 minuta"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#article","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/"},"author":{"name":"Tomislav Stankovi\u0107","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"headline":"Ionic 3 &#8211; Firebase registracija i prijava","datePublished":"2017-06-04T20:25:34+00:00","dateModified":"2019-01-05T17:54:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/"},"wordCount":535,"commentCount":2,"publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/ionic3-firebase-registracija-prijava.jpg","keywords":["auth","Google Firebase","Ionic 3","prijava","registracija"],"articleSection":["Mobile","Razvoj"],"inLanguage":"hr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/","url":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/","name":"Ionic 3 - Firebase registracija i prijava - Tomislav Stankovi\u0107","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#primaryimage"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/ionic3-firebase-registracija-prijava.jpg","datePublished":"2017-06-04T20:25:34+00:00","dateModified":"2019-01-05T17:54:43+00:00","breadcrumb":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#breadcrumb"},"inLanguage":"hr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/"]}]},{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#primaryimage","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/ionic3-firebase-registracija-prijava.jpg","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/06\/ionic3-firebase-registracija-prijava.jpg","width":825,"height":510,"caption":"Ionic 3 - Firebase registracija i prijava"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-firebase-registracija-prijava\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna stranica","item":"https:\/\/www.tomislavstankovic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ionic 3 &#8211; Firebase registracija i prijava"}]},{"@type":"WebSite","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website","url":"https:\/\/www.tomislavstankovic.com\/blog\/","name":"Tomislav Stankovi\u0107","description":"Sam svoj bloger","publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tomislavstankovic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d","name":"Tomislav Stankovi\u0107","image":{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","width":248,"height":165,"caption":"Tomislav Stankovi\u0107"},"logo":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg"},"description":"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.","sameAs":["https:\/\/www.tomislavstankovic.com\/blog\/","https:\/\/www.linkedin.com\/in\/tomislavstankovic\/"],"url":"https:\/\/www.tomislavstankovic.com\/blog\/author\/tomislavstankovic\/"}]}},"_links":{"self":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/5435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/comments?post=5435"}],"version-history":[{"count":35,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/5435\/revisions"}],"predecessor-version":[{"id":5478,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/5435\/revisions\/5478"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media\/5436"}],"wp:attachment":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media?parent=5435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/categories?post=5435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/tags?post=5435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}