{"id":92751,"date":"2019-06-13T13:00:52","date_gmt":"2019-06-13T10:00:52","guid":{"rendered":"http:\/\/www.javacodegeeks.com\/?p=92751"},"modified":"2019-06-12T10:22:57","modified_gmt":"2019-06-12T07:22:57","slug":"angular-facebook-login-example","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html","title":{"rendered":"Angular Facebook Login Example"},"content":{"rendered":"<p>Welcome readers, in this tutorial, we will implement an Angular Facebook Login application.<\/p>\n<h2>1. Introduction<\/h2>\n<ul>\n<li><strong>Angular<\/strong> is a Typescript-based open-source framework that helps developers build single page applications<\/li>\n<li>Offers Object-oriented features and supports the dynamic loading of the pages<\/li>\n<li>Supports Two-way data binding, Property (<code>[]<\/code>), and Event (<code>()<\/code>) binding techniques<\/li>\n<li>Supports command-line-interface to easily initiate and manage the angular projects from the command line<\/li>\n<\/ul>\n<p>Now open the visual studio code and let us see how to implement this tutorial in the angular framework.<\/p>\n<h2>2. Angular Facebook Login Example<\/h2>\n<p>Here is a systematic guide for implementing this tutorial.<\/p>\n<h3>2.1 Tools Used<\/h3>\n<p>We are using Visual Studio Code and Node Terminal to compile and execute the angular code on a browser.<\/p>\n<h3>2.2 Project Structure<\/h3>\n<p>In case you are confused about where you should create the corresponding files or folder, let us review the project structure of the angular application.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"307\" height=\"683\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-structure-guide-img1.jpg\" alt=\"Angular Facebook Login - Application Structure\" class=\"wp-image-92752\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-structure-guide-img1.jpg 307w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-structure-guide-img1-135x300.jpg 135w\" sizes=\"(max-width: 307px) 100vw, 307px\" \/><figcaption>Fig. 1: Application Structure<\/figcaption><\/figure>\n<\/div>\n<h2>3. Creating Angular application<\/h2>\n<p>Run the <code>ng new angular-facebook-signin<\/code> command in the npm console to create a new angular project. Once the new project is created, execute the following commands in the npm console to install and save angularX-social-login dependency required for this example (<em>where \u2018X\u2019 is the version number<\/em>).<\/p>\n<div>\n<div id=\"highlighter_855268\" class=\"syntaxhighlighter  html\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"html plain\">npm install --save angularx-social-login<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>3.1 Importing Social Login Module &amp; Facebook Login Provider<\/h3>\n<p>Import and inject the Social Login module, Authentication Service, and Facebook Login provider in the <code>src\/app\/app.module.ts<\/code> file. In this file, we\u2019ll also <span style=\"text-decoration: underline\">specify the client id for the Facebook oauth<\/span>. Please <em>ensure<\/em> to generate the Facebook oauth client id from <a href=\"https:\/\/developers.facebook.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">this<\/a> link. This client id will be required at line # 10 of this file and add the following code to it.<\/p>\n<p><span style=\"text-decoration: underline\"><em>app.module.ts<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_75241\" class=\"syntaxhighlighter  js\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"js keyword\">import<\/code> <code class=\"js plain\">{ BrowserModule } from <\/code><code class=\"js string\">'@angular\/platform-browser'<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"js keyword\">import<\/code> <code class=\"js plain\">{ NgModule } from <\/code><code class=\"js string\">'@angular\/core'<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"js comments\">\/\/ Importing social login module and facebook login provider.<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"js keyword\">import<\/code> <code class=\"js plain\">{ SocialLoginModule, AuthServiceConfig, FacebookLoginProvider } from <\/code><code class=\"js string\">'angularx-social-login'<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number5 index4 alt2\">&nbsp;<\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"js keyword\">import<\/code> <code class=\"js plain\">{ AppComponent } from <\/code><code class=\"js string\">'.\/app.component'<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number7 index6 alt2\">&nbsp;<\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"js comments\">\/\/ Client id for the facebook oauth. This is used for validation of our application to facebook.<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"js comments\">\/\/ <a href=\"https:\/\/developers.facebook.com\/\">https:\/\/developers.facebook.com\/<\/a><\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"js plain\">const facebook_oauth_client_id: string = <\/code><code class=\"js string\">'Your-facebook-client-id.'<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"js keyword\">let<\/code> <code class=\"js plain\">config = <\/code><code class=\"js keyword\">new<\/code> <code class=\"js plain\">AuthServiceConfig([<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">{<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">id: FacebookLoginProvider.PROVIDER_ID,<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">provider: <\/code><code class=\"js keyword\">new<\/code> <code class=\"js plain\">FacebookLoginProvider(facebook_oauth_client_id)<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">}<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"js plain\">]);<\/code><\/div>\n<div class=\"line number17 index16 alt2\">&nbsp;<\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"js plain\">@NgModule({<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">declarations: [<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">AppComponent<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">],<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">imports: [<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">BrowserModule, SocialLoginModule.initialize(config)<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">],<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">providers: [],<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">bootstrap: [AppComponent]<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"js plain\">})<\/code><\/div>\n<div class=\"line number28 index27 alt1\">&nbsp;<\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"js keyword\">export<\/code> <code class=\"js keyword\">class<\/code> <code class=\"js plain\">AppModule { }<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>3.2 Subscription to Authentication State<\/h3>\n<p>To start working with socio login we\u2019ll inject the provider id (i.e. client id) in the <code>src\/app\/app.component.ts<\/code> file. Here we\u2019ll receive a user object on successful login and a null object on log out. This user object contains the basic profile information of the user.<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p><span style=\"text-decoration: underline\"><em>app.component.ts<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_825633\" class=\"syntaxhighlighter  js\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"js keyword\">import<\/code> <code class=\"js plain\">{ Component } from <\/code><code class=\"js string\">'@angular\/core'<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"js keyword\">import<\/code> <code class=\"js plain\">{ AuthService, FacebookLoginProvider } from <\/code><code class=\"js string\">\"angularx-social-login\"<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number3 index2 alt2\">&nbsp;<\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"js plain\">@Component({<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">selector: <\/code><code class=\"js string\">'app-root'<\/code><code class=\"js plain\">,<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">templateUrl: <\/code><code class=\"js string\">'.\/app.component.html'<\/code><code class=\"js plain\">,<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">styleUrls: [<\/code><code class=\"js string\">'.\/app.component.scss'<\/code><code class=\"js plain\">]<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"js plain\">})<\/code><\/div>\n<div class=\"line number9 index8 alt2\">&nbsp;<\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"js keyword\">export<\/code> <code class=\"js keyword\">class<\/code> <code class=\"js plain\">AppComponent {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">title = <\/code><code class=\"js string\">'Angular Socio login via Facebook!'<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">user: any;<\/code><\/div>\n<div class=\"line number13 index12 alt2\">&nbsp;<\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">constructor(<\/code><code class=\"js keyword\">private<\/code> <code class=\"js plain\">_socioAuthServ: AuthService) { }<\/code><\/div>\n<div class=\"line number15 index14 alt2\">&nbsp;<\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js comments\">\/\/ Method to sign in with facebook.<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">signIn(platform: string): void {<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">platform = FacebookLoginProvider.PROVIDER_ID;<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js keyword\">this<\/code><code class=\"js plain\">._socioAuthServ.signIn(platform).then(<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">(response) =&gt; {<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">console.log(platform + <\/code><code class=\"js string\">\" logged in user data is= \"<\/code><code class=\"js plain\">, response);<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js keyword\">this<\/code><code class=\"js plain\">.user = response;<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">}<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">}<\/code><\/div>\n<div class=\"line number26 index25 alt1\">&nbsp;<\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js comments\">\/\/ Method to log out.<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">signOut(): void {<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js keyword\">this<\/code><code class=\"js plain\">._socioAuthServ.signOut();<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js keyword\">this<\/code><code class=\"js plain\">.user = <\/code><code class=\"js keyword\">null<\/code><code class=\"js plain\">;<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"js spaces\">&nbsp;&nbsp;&nbsp;&nbsp;<\/code><code class=\"js plain\">console.log(<\/code><code class=\"js string\">'User signed out.'<\/code><code class=\"js plain\">);<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"js spaces\">&nbsp;&nbsp;<\/code><code class=\"js plain\">}<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"js plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>3.3 User Information<\/h3>\n<p>Add the following code to <code>src\/app\/app.component.html<\/code> for displaying the user\u2019s information.<\/p>\n<p><span style=\"text-decoration: underline\"><em>app.component.html<\/em><\/span><\/p>\n<div>\n<div id=\"highlighter_87400\" class=\"syntaxhighlighter  html\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">01<\/div>\n<div class=\"line number2 index1 alt1\">02<\/div>\n<div class=\"line number3 index2 alt2\">03<\/div>\n<div class=\"line number4 index3 alt1\">04<\/div>\n<div class=\"line number5 index4 alt2\">05<\/div>\n<div class=\"line number6 index5 alt1\">06<\/div>\n<div class=\"line number7 index6 alt2\">07<\/div>\n<div class=\"line number8 index7 alt1\">08<\/div>\n<div class=\"line number9 index8 alt2\">09<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">p<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;<\/code><code class=\"html plain\">{{title}}<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">p<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\">&nbsp;<\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">button<\/code> <code class=\"html plain\">(click)=\"signIn('Facebook');\"&gt;Sign in with Facebook&lt;\/<\/code><code class=\"html keyword\">button<\/code><code class=\"html plain\">&gt;&lt;<\/code><code class=\"html keyword\">br<\/code> <code class=\"html plain\">\/&gt;&lt;<\/code><code class=\"html keyword\">br<\/code> <code class=\"html plain\">\/&gt;<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">button<\/code> <code class=\"html plain\">(click)=\"signOut();\"&gt;Sign out&lt;\/<\/code><code class=\"html keyword\">button<\/code><code class=\"html plain\">&gt;&lt;<\/code><code class=\"html keyword\">br<\/code> <code class=\"html plain\">\/&gt;&lt;<\/code><code class=\"html keyword\">br<\/code> <code class=\"html plain\">\/&gt;<\/code><\/div>\n<div class=\"line number7 index6 alt2\">&nbsp;<\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">div<\/code> <code class=\"html plain\">*<\/code><code class=\"html color1\">ngIf<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"user\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">img<\/code> <code class=\"html color1\">src<\/code><code class=\"html plain\">=<\/code><code class=\"html string\">\"{{ user.photoUrl }}\"<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"html spaces\">&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">h4<\/code><code class=\"html plain\">&gt;{{ user.name }}&lt;\/<\/code><code class=\"html keyword\">h4<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"html spaces\">&nbsp;&nbsp;<\/code><code class=\"html plain\">&lt;<\/code><code class=\"html keyword\">p<\/code><code class=\"html plain\">&gt;{{ user.email }}&lt;\/<\/code><code class=\"html keyword\">p<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"html plain\">&lt;\/<\/code><code class=\"html keyword\">div<\/code><code class=\"html plain\">&gt;<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>4. Run the Application<\/h2>\n<p>As we are ready with all the changes, let us compile and run the angular application with <code>ng serve<\/code> command. Once the projects are successfully compiled and deployed, open the browser to test it.<\/p>\n<h2>5. Project Demo<\/h2>\n<p>Open your favorite browser and hit the angular application url (<code>http:\/\/localhost:4200\/<\/code>) to display the welcome page of the application.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"668\" height=\"184\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-demo-guide-img1.jpg\" alt=\"Angular Facebook Login - Welcome Page\" class=\"wp-image-92753\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-demo-guide-img1.jpg 668w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-demo-guide-img1-300x83.jpg 300w\" sizes=\"(max-width: 668px) 100vw, 668px\" \/><figcaption>Fig. 2: Welcome Page<\/figcaption><\/figure>\n<\/div>\n<p>Users can click the sign-in button for authentication via Facebook. On successful login, the user object is received from Facebook and the user information is displayed.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"791\" height=\"374\" src=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-demo-guide-img2.jpg\" alt=\"Angular Facebook Login - User\u2019s Profile\" class=\"wp-image-92754\" srcset=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-demo-guide-img2.jpg 791w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-demo-guide-img2-300x142.jpg 300w, https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-project-fb-singin-demo-guide-img2-768x363.jpg 768w\" sizes=\"(max-width: 791px) 100vw, 791px\" \/><figcaption>Fig. 3: User\u2019s Profile<\/figcaption><\/figure>\n<\/div>\n<p>On sign-out, the user is logged out of the application the user object is nullified. That is all for this tutorial and I hope the article served you whatever you were expecting for. Happy Learning and do not forget to share!<\/p>\n<h2>6. Conclusion<\/h2>\n<p>In this section, we learned how to support Facebook Social Login in the angular application. Developers can download the sample application as an Eclipse project in the <a href=\"#projectDownload\">Downloads<\/a> section.<\/p>\n<h2><a name=\"projectDownload\"><\/a>7. Download the Eclipse Project<\/h2>\n<p>This was a tutorial of implementing an Angular Facebook Login application.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>You can download the full source code of this example here: <a href=\"http:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2019\/06\/angular-facebook-signin.zip\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Angular Facebook Login Example<\/strong><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Welcome readers, in this tutorial, we will implement an Angular Facebook Login application. 1. Introduction Angular is a Typescript-based open-source framework that helps developers build single page applications Offers Object-oriented features and supports the dynamic loading of the pages Supports Two-way data binding, Property ([]), and Event (()) binding techniques Supports command-line-interface to easily initiate &hellip;<\/p>\n","protected":false},"author":26931,"featured_media":49726,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1880],"tags":[740],"class_list":["post-92751","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angular","tag-angular"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Angular Facebook Login Example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"Interested to learn more about Angular? Then check out our detailed example on Angular Facebook Login!\" \/>\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.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Angular Facebook Login Example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"Interested to learn more about Angular? Then check out our detailed example on Angular Facebook Login!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-13T10:00:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/angularjs-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Yatin Batra\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yatin Batra\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html\"},\"author\":{\"name\":\"Yatin Batra\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\"},\"headline\":\"Angular Facebook Login Example\",\"datePublished\":\"2019-06-13T10:00:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html\"},\"wordCount\":536,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/angularjs-logo.jpg\",\"keywords\":[\"Angular\"],\"articleSection\":[\"Angular\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html\",\"name\":\"Angular Facebook Login Example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/angularjs-logo.jpg\",\"datePublished\":\"2019-06-13T10:00:52+00:00\",\"description\":\"Interested to learn more about Angular? Then check out our detailed example on Angular Facebook Login!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/angularjs-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2015\\\/12\\\/angularjs-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2019\\\/06\\\/angular-facebook-login-example.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Development\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/web-development\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"JavaScript\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/web-development\\\/javascript\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Angular\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/web-development\\\/javascript\\\/angular\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Angular Facebook Login Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/cda31a4c1965373fed40c8907dc09b8d\",\"name\":\"Yatin Batra\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/12\\\/Yatin.batra_.jpg\",\"caption\":\"Yatin Batra\"},\"description\":\"An experience full-stack engineer well versed with Core Java, Spring\\\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).\",\"sameAs\":[\"https:\\\/\\\/www.javacodegeeks.com\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/yatin-batra\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Angular Facebook Login Example - Java Code Geeks","description":"Interested to learn more about Angular? Then check out our detailed example on Angular Facebook Login!","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.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html","og_locale":"en_US","og_type":"article","og_title":"Angular Facebook Login Example - Java Code Geeks","og_description":"Interested to learn more about Angular? Then check out our detailed example on Angular Facebook Login!","og_url":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2019-06-13T10:00:52+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/angularjs-logo.jpg","type":"image\/jpeg"}],"author":"Yatin Batra","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Yatin Batra","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html"},"author":{"name":"Yatin Batra","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d"},"headline":"Angular Facebook Login Example","datePublished":"2019-06-13T10:00:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html"},"wordCount":536,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/angularjs-logo.jpg","keywords":["Angular"],"articleSection":["Angular"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html","url":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html","name":"Angular Facebook Login Example - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/angularjs-logo.jpg","datePublished":"2019-06-13T10:00:52+00:00","description":"Interested to learn more about Angular? Then check out our detailed example on Angular Facebook Login!","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/angularjs-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2015\/12\/angularjs-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2019\/06\/angular-facebook-login-example.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Web Development","item":"https:\/\/www.javacodegeeks.com\/category\/web-development"},{"@type":"ListItem","position":3,"name":"JavaScript","item":"https:\/\/www.javacodegeeks.com\/category\/web-development\/javascript"},{"@type":"ListItem","position":4,"name":"Angular","item":"https:\/\/www.javacodegeeks.com\/category\/web-development\/javascript\/angular"},{"@type":"ListItem","position":5,"name":"Angular Facebook Login Example"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/cda31a4c1965373fed40c8907dc09b8d","name":"Yatin Batra","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/12\/Yatin.batra_.jpg","caption":"Yatin Batra"},"description":"An experience full-stack engineer well versed with Core Java, Spring\/Springboot, MVC, Security, AOP, Frontend (Angular &amp; React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).","sameAs":["https:\/\/www.javacodegeeks.com"],"url":"https:\/\/www.javacodegeeks.com\/author\/yatin-batra"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/92751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/26931"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=92751"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/92751\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/49726"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=92751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=92751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=92751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}