927 Star 7.3K Fork 2.3K

GVPyadong.zhang / JustAuth

Create your Gitee Account
Explore and code with more than 8 million developers,Free private repositories !:)
Sign up
Clone or Download
README.en-US.md 6.50 KB
Copy Edit Web IDE Raw Blame History
yadong.zhang authored 2021-08-13 18:26 . :memo: Writing docs.

Login, so easy.

star github star


star


JustAuth, as you see, It is just a Java library of third-party authorized login, It's smaller and easier to use. JustAuth is the best third-party login tool written in JAVA.

Source Code:gitee | github
Docs:Reference Doc

Features

  1. Multiple platform: Has integrated more than a dozen third-party platforms.(plan)
  2. Minimalist: The minimalist design is very simple to use.

Quick start

Add maven dependency

  • Add JustAuth dependency

These artifacts are available from Maven Central:

<dependency>
    <groupId>me.zhyd.oauth</groupId>
    <artifactId>JustAuth</artifactId>
  <version>{latest-version}</version>
</dependency>

latest-version

  • CURRENT:
  • SNAPSHOT:
  • Add http dependency(Only need one)

If there is already in the project, please ignore it. In addition, you need to pay special attention. If the low version of the dependency has been introduced in the project, please exclude the low version of the dependency first, and then introduce the high version or the latest version of the dependency

  • hutool-http

    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-http</artifactId>
        <version>5.2.5</version>
    </dependency>
  • httpclient

    <dependency>
    	<groupId>org.apache.httpcomponents</groupId>
      	<artifactId>httpclient</artifactId>
      	<version>4.5.12</version>
    </dependency>
  • okhttp

    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>4.4.1</version>
    </dependency>

Using JustAuth API

Simple

// Create authorization request
AuthRequest authRequest = new AuthGiteeRequest(AuthConfig.builder()
        .clientId("clientId")
        .clientSecret("clientSecret")
        .redirectUri("redirectUri")
        .build());
// Generate authorization page url
authRequest.authorize("state");
// Get token and userinfo
authRequest.login(callback);

Builder 1. Use unchanging AuthConfig

// Create authorization request
AuthRequest authRequest = AuthRequestBuilder.builder()
    .source("github")
    .authConfig(AuthConfig.builder()
        .clientId("clientId")
        .clientSecret("clientSecret")
        .redirectUri("redirectUri")
        .build())
    .build();

Builder 2. Use dynamic AuthConfig

// Create authorization request
AuthRequest authRequest = AuthRequestBuilder.builder()
    .source("gitee")
    .authConfig((source) -> {
        // Use source to dynamically get AuthConfig
        // Here you can flexibly take the configuration from sql or take the configuration from the configuration file
        return AuthConfig.builder()
            .clientId("clientId")
            .clientSecret("clientSecret")
            .redirectUri("redirectUri")
            .build();
    })
    .build();

Builder 3. Support custom platform

AuthRequest authRequest = AuthRequestBuilder.builder()
    // Key point: configure the custom implementation of AuthSource
    .extendSource(AuthExtendSource.values())
    // Enum name in AuthExtendSource
    .source("other")
    // ... Do other things
    .build();

Contributions

  1. Fork this project to your repository
  2. Clone the project after fork.
  3. Modify the code (either to fix issue, or to add new features)
  4. Commit and push code to a remote repository
  5. Create a new PR (pull request), and select dev branch
  6. Waiting for author to merge

I look forward to your joining us.

Contributors

contributors

Change Logs

CHANGELOGS

Recommend

References

Comment ( 0 )

Sign in to post a comment

Java
1
https://gitee.com/yadong.zhang/JustAuth.git
git@gitee.com:yadong.zhang/JustAuth.git
yadong.zhang
JustAuth
JustAuth
master

Search

184635 d8eb8a04 1850385 161156 f1cf3f24 1850385