Authentication framework for Web Apps

The quickest way to support authentication on your app.

License

License

GroupId

GroupId

io.github.encryptorcode
ArtifactId

ArtifactId

iam-oauth
Last Version

Last Version

2.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

Authentication framework for Web Apps
The quickest way to support authentication on your app.
Project URL

Project URL

https://github.com/encryptorcode/iam-oauth
Source Code Management

Source Code Management

https://github.com/encryptorcode/iam-oauth/tree/master

Download iam-oauth

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.encryptorcode/iam-oauth/ -->
<dependency>
    <groupId>io.github.encryptorcode</groupId>
    <artifactId>iam-oauth</artifactId>
    <version>2.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.encryptorcode/iam-oauth/
implementation 'io.github.encryptorcode:iam-oauth:2.0.1'
// https://jarcasting.com/artifacts/io.github.encryptorcode/iam-oauth/
implementation ("io.github.encryptorcode:iam-oauth:2.0.1")
'io.github.encryptorcode:iam-oauth:jar:2.0.1'
<dependency org="io.github.encryptorcode" name="iam-oauth" rev="2.0.1">
  <artifact name="iam-oauth" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.encryptorcode', module='iam-oauth', version='2.0.1')
)
libraryDependencies += "io.github.encryptorcode" % "iam-oauth" % "2.0.1"
[io.github.encryptorcode/iam-oauth "2.0.1"]

Dependencies

compile (3)

Group / Artifact Type Version
io.github.encryptorcode : httpclient jar 1.0.0
javax.persistence : persistence-api jar 1.0.2
com.google.code.gson : gson jar 2.8.6

provided (4)

Group / Artifact Type Version
org.apache.tomcat : tomcat-servlet-api jar 9.0.36
org.springframework : spring-webmvc jar 5.2.0.RELEASE
org.jooq : jooq jar 3.13.2
redis.clients : jedis jar 3.3.0

Project Modules

There are no modules declared in this project.

I AM open oauth

Maven Central License Code Climate Dependabot Sonatype Nexus (Snapshots)

The quickest way to support authentication on your app.

Installation

Maven

<dependency>
  <groupId>io.github.encryptorcode</groupId>
  <artifactId>iam-oauth</artifactId>
  <version>2.0.1</version>
</dependency>

Groovy

implementation 'io.github.encryptorcode:iam-oauth:2.0.1'

Kotlin DSL

implementation("io.github.encryptorcode:iam-oauth:2.0.1")

What?

This is a library for all your authentication needs. From the scratch it's made to give you full flexibility for advanced implementation, also making sure it's easy to implement for starters.

Usage

You need to write bare minimal to set up your authentication.

AuthenticationInitializer.newInstance(Session::new, User::new)
        .addOAuthProvider(new GoogleAuthenticationProvider())
        .initialize();
  • GoogleAuthenticationProvider An implementation for supporting Oauth 2.0 authentication using Google.
  • We also have ready-made implementations for supporting storage with files, db and redis.

For complete example, check example folder given in the repository.

Setting it up

To completely customising and setting up authentication you can follow the guides below.

  1. Configure your oauth provider(s)
  2. Create your User and Session implementations
  3. Customise your way to store of Users, Session and AuthenticationDetails
  4. Setup your security for your users
  5. Handle server requests

API

Getting instance of authentication service

AuthenticationService<Session, User> authenticationService = AuthenticationService.getInstance();

Getting the current user

User currentUser = authenticationService.getCurrentUser();

Getting the current session

Session currentSession = authenticationService.getCurrentUser();

Note: Both user and session will be set only in a HttpRequest. It will get a null if you invoke this on a TimerTask or Scheduler.

License

MIT

io.github.encryptorcode

Encryptor Code

Versions

Version
2.0.1
2.0.0
1.0.2
1.0.1
1.0.0