All Projects → infamous-riddles → Authmanager

infamous-riddles / Authmanager

Licence: mit
Google Sign-In and SmartLock Manager

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Authmanager

Spring Webmvc Pac4j
Security library for Spring Web MVC: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 110 (-9.09%)
Mutual labels:  authentication
Xxl Sso
A distributed single-sign-on framework.(分布式单点登录框架XXL-SSO)
Stars: ✭ 1,635 (+1251.24%)
Mutual labels:  authentication
Auth0 Nodejs Webapp Sample
Auth0 Integration Samples for Node Web Applications
Stars: ✭ 117 (-3.31%)
Mutual labels:  authentication
Office Js Helpers
[ARCHIVED] A collection of helpers to simplify development of Office Add-ins & Microsoft Teams Tabs
Stars: ✭ 111 (-8.26%)
Mutual labels:  authentication
Cakephp Tinyauth
CakePHP TinyAuth plugin for an easy and fast user authentication and authorization. Single or multi role. DB or config file based.
Stars: ✭ 114 (-5.79%)
Mutual labels:  authentication
Apple Authentication
Sign In With Apple for React Native
Stars: ✭ 116 (-4.13%)
Mutual labels:  authentication
Auth
Official authentication provider for Adonis framework
Stars: ✭ 110 (-9.09%)
Mutual labels:  authentication
Graphql Directive Auth
GraphQL directive for handling auth
Stars: ✭ 120 (-0.83%)
Mutual labels:  authentication
React Most Wanted
React starter kit with "Most Wanted" application features
Stars: ✭ 1,867 (+1442.98%)
Mutual labels:  authentication
Netclient Ios
Versatile HTTP Networking in Swift
Stars: ✭ 117 (-3.31%)
Mutual labels:  authentication
Docker Nginx Basic Auth
🔐 Simple Docker image for basic authentication
Stars: ✭ 111 (-8.26%)
Mutual labels:  authentication
Nextjs Headless Wordpress
🔥 Nextjs Headless WordPress
Stars: ✭ 110 (-9.09%)
Mutual labels:  authentication
Laravel Passport Android
Laravel + Passport for an Android App
Stars: ✭ 116 (-4.13%)
Mutual labels:  authentication
React Mobx Firebase Authentication
🔥Boilerplate Project for Authentication with Firebase in React and MobX
Stars: ✭ 111 (-8.26%)
Mutual labels:  authentication
Vapor Auth Template
A Vapor 4 template with authentication, Fluent, JWT, Queues, repository pattern, testing and more.
Stars: ✭ 118 (-2.48%)
Mutual labels:  authentication
Simple token authentication
Simple (but safe) token authentication for Rails apps or API with Devise.
Stars: ✭ 1,474 (+1118.18%)
Mutual labels:  authentication
Go Postgres Jwt React Starter
A go, gin, and postgres API with jwt auth, complete with a react frontend
Stars: ✭ 115 (-4.96%)
Mutual labels:  authentication
Serverless Architectures Aws
The code repository for the Serverless Architectures on AWS book
Stars: ✭ 120 (-0.83%)
Mutual labels:  authentication
Auth
Authenticator via oauth2
Stars: ✭ 118 (-2.48%)
Mutual labels:  authentication
Jwt Auth
🔐 JSON Web Token Authentication for Laravel & Lumen
Stars: ✭ 10,305 (+8416.53%)
Mutual labels:  authentication

Android Arsenal

Auth Manager

AuthManager is a library which eliminates the boilerplate of Google SignIn and SmartLock integration.

Usage

compile 'com.github.charbgr:authmanager:1.0'

AuthManager includes all of the managers below.
AuthManager
    .Builder(this)
    .withGoogleApiClient(googleApiClient)
    .withGoogle(this)
    .withHints(this, hintRequest)
    .withSmartLock(this, smartlockRequest)
    .build()
    
override fun onDestroy() {
    super.onDestroy()
    authManager.destroy()
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    authManager?.handle(requestCode, resultCode, data)
}
    

Standalone Managers

Google Manager

Functionality included: Google Sign-In, Google Sign-Out, Google Revoke Access

GoogleAuthManager
    .Builder(this)
    .withGoogleApiClient(googleApiClient)
    .withGoogleView(this)
    .build()
    
override fun onDestroy() {
    super.onDestroy()
    googleAuthManager?.clear()
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    when (requestCode) {
        RC_SIGN_IN -> googleAuthManager?.handle(resultCode, data)
    }
}

API Overview

fun signInWithGoogle()
fun signOutOfGoogle()
fun revokeGoogleAccess()
fun handle(resultCode: Int, data: Intent?)
fun clear()

Smartlock Manager

Functionality included: SmartLock Credentials Request, SmartLock Credentials Save, SmartLock Credentials Delete

SmartLockManager
    .Builder(this)
    .withGoogleApiClient(googleApiClient)
    .withSmartLockView(this)
    .build()
    
    
override fun onDestroy() {
    super.onDestroy()
    smartLockManager?.clear()
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    when (requestCode) {
        RC_CREDENTIAL_SAVE -> smartLockManager?.handleCredentialSave(resultCode)
        RC_CREDENTIALS_REQUEST -> smartLockManager?.handleCredentialRequest(resultCode, data)
    }
} 

API Overview

fun requestCredentials()
fun saveCredential(credential: Credential)
fun deleteCredential(credential: Credential?)
fun handleCredentialSave(resultCode: Int)
fun handleCredentialRequest(resultCode: Int, data: Intent?)
fun clear()

Hints Manager

Functionality included: E-mail Addresses Hints

HintsManager
    .Builder(this)
    .withGoogleApiClient(googleApiClient)
    .withHintsView(this)
    .build()
    
    
override fun onDestroy() {
    super.onDestroy()
    hintsManager?.clear()
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    when (requestCode) {
        RC_HINT_REQUEST -> hintsManager?.handle(resultCode, data)
    }
}

API Overview

fun requestEmailHints()
fun handle(resultCode: Int, data: Intent?)
fun clear()

You need to call in Activity.onDestroy() to clear view references otherwise you risk having a memory leak.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].