ng-social-login
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.6 • Public • Published

    ng Social Login

    This is the refrenced library from ng4-social-login.

    Social login and authentication module for Angular 4. Supports authentication with Google, Linkedin and Facebook.

    Main Feature

    This will also return a token (for Facebook and Google) and code (for Linked In) along with profile detail so that logged in user from client side can also be verified on server side.

    Getting started

    Documentation

    Install via npm

    npm install --save ng-social-login

    Import the module

    In your AppModule, import the SocialLoginModule

    import {
      SocialLoginModule,
      AuthServiceConfig,
      GoogleLoginProvider,
      FacebookLoginProvider,
      LinkedinLoginProvider
    } from 'ng-social-login';
     
    const CONFIG = new AuthServiceConfig([
      {
        id: GoogleLoginProvider.PROVIDER_ID,
        provider: new GoogleLoginProvider('Google-OAuth-Client-Id')
      },
      {
        id: FacebookLoginProvider.PROVIDER_ID,
        provider: new FacebookLoginProvider('Facebook-App-Id')
      },
      {
        id: LinkedinLoginProvider.PROVIDER_ID,
        provider: new LinkedinLoginProvider('LINKEDIN_CLIENT_ID')
      }
    ]);
     
    export function provideConfig() {
      return CONFIG;
    }
     
    @NgModule({
      declarations: [
        ...
      ],
      imports: [
        ...
        SocialLoginModule
      ],
      providers: [
        {
          provide: AuthServiceConfig,
          useFactory: provideConfig
        }
      ],
      bootstrap: [...]
    })
    export class AppModule { }

    Sign in and out users

    import {
      AuthService
      FacebookLoginProvider,
      GoogleLoginProvider,
      LinkedinLoginProvider
    } from 'ng-social-login';
     
    @Component({
      selector: 'app-demo',
      templateUrl: './demo.component.html',
      styleUrls: ['./demo.component.css']
    })
    export class DemoComponent implements OnInit {
     
      constructor(private authService: AuthService) { }
     
      signInWithGoogle(): void {
        this.authService.signIn(GoogleLoginProvider.PROVIDER_ID);
      }
     
      signInWithFB(): void {
        this.authService.signIn(FacebookLoginProvider.PROVIDER_ID);
      }
     
      signInWithLinkedIN(): void {
        this.authService.signIn(LinkedinLoginProvider.PROVIDER_ID);
      }
     
      signOut(): void {
        this.authService.signOut();
      }
     
    }

    Subscribe to the authentication state

    You are notified when user logs in or logs out. You receive a SocialUser object when the user logs in and a null when the user logs out. SocialUser object contains basic user information such as name, email, photo URL, etc.

    import { AuthService } from 'ng-social-login';
    import { SocialUser } from 'ng-social-login';
     
    @Component({
      selector: 'app-demo',
      templateUrl: './demo.component.html',
      styleUrls: ['./demo.component.css']
    })
    export class DemoComponent implements OnInit {
     
      private user: SocialUser;
      private loggedIn: boolean;
     
      constructor(private authService: AuthService) { }
     
      ngOnInit() {
        this.authService.authState.subscribe((user) => {
          this.user = user;
          this.loggedIn = (user != null);
        });
      }
     
    }

    Display the user information

    <img src='{{ user.photoUrl }}'>
    <div>
      <h4>{{ user.name }}</h4>
      <p>{{ user.email }}</p>
    </div>

    Building with AoT

    Contributing to project

    you are welcome to report an issue or creating a pull request.

    Install

    npm i ng-social-login

    DownloadsWeekly Downloads

    11

    Version

    1.0.6

    License

    MIT

    Last publish

    Collaborators

    • satish-lakhani