FLUTTER ECOSYSTEM

shivamshashank/authentication_buttons

Flutter Authentication Buttons Package

authentication_buttons project cover
Stars
1
Forks
0
Last push (UTC)
Aug 7, 2023
Project status
Active
Shivam Shashank GitHub avatar
GITHUB User

Shivam Shashank ↗

Cloud Engineer @ HPE → DevOps & SRE Kubernetes, CI/CD, Observability, Multi-cloud Building AI tools for production systems (LogDoctor)

HPEUnited KingdomOfficial website ↗
LanguagesDartCMakeShellCObjective-CJavaC++Swift

Packages published by this repository

Dependencies used

Dependency list 3 items
  • flutter{"sdk":"flutter"}
  • flutter_testDevelopment{"sdk":"flutter"}
  • flutter_lintsDevelopment^2.0.2

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse project README

pub package pub points LinkedIn

Authentication Buttons

Authentication Buttons allows users to build social media authentication buttons for all popular SSO systems.

Usage

Add the dependency in pubsec.yaml file.

  dependencies:
    flutter:
      sdk: flutter
    authentication_buttons: 0.0.5

How to Use

  AuthenticationButton(
    authenticationMethod: AuthenticationMethod.google,
    onPressed: () {},
  )

Additional parameters that you might supply include:

  • AuthenticationMethod

    • google
    • apple
    • microsoft
    • facebook
    • reddit
    • twitter
    • linkedin
    • github
    • medium
    • dribbble
    • spotify
    • pinterest
  • ButtonSize

    • small
    • large
  • ShowLoader

    • true
    • false

Below is the example with all arguments supplied:

  AuthenticationButton(
    authenticationMethod: AuthenticationMethod.apple,
    onPressed: () {},
    showLoader: true,
  ),

Screenshots

demo screenshot_1 screenshot_2

Example

import 'package:authentication_buttons/src/authentication_button.dart';
import 'package:authentication_buttons/src/utils/enums/authentication_method.dart';
import 'package:authentication_buttons/src/utils/enums/button_size.dart';
import 'package:flutter/material.dart';

void main() => runApp(
      const MaterialApp(
        title: 'Authentication Buttons',
        home: AuthenticationButtonsExample(),
      ),
    );

class AuthenticationButtonsExample extends StatelessWidget {
  const AuthenticationButtonsExample({
    super.key,
  });

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text(
          'Authentication Buttons',
        ),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.spaceEvenly,
        children: [
          AuthenticationButton(
            authenticationMethod: AuthenticationMethod.google,
            onPressed: () {},
          ),
          AuthenticationButton(
            authenticationMethod: AuthenticationMethod.pinterest,
            onPressed: () {},
            showLoader: true,
          ),
          AuthenticationButton(
            authenticationMethod: AuthenticationMethod.microsoft,
            onPressed: () {},
            showLoader: true,
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: [
              AuthenticationButton(
                authenticationMethod: AuthenticationMethod.twitter,
                onPressed: () {},
                buttonSize: ButtonSize.small,
              ),
              AuthenticationButton(
                authenticationMethod: AuthenticationMethod.dribbble,
                onPressed: () {},
                buttonSize: ButtonSize.small,
                showLoader: true,
              ),
              AuthenticationButton(
                authenticationMethod: AuthenticationMethod.spotify,
                onPressed: () {},
                buttonSize: ButtonSize.small,
              ),
            ],
          ),
        ],
      ),
    );
  }
}

Contributing

Pull requests are welcome 🙏

For major changes, please open an issue on github