# oauth2-aio

> 本项目参考了 Java 项目 JustAuth 的设计，将所有的第三方登录都整合到一个项目中，方便使用。 因为 JustAuth 项目是 Java 项目，Node 项目中没有类似的项目，所以本项目就诞生了。 原项目地址：[JustAuth](https://github.com/justauth/JustAuth)

Latest version **1.0.2** (published 2022-10-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install oauth2-aio
pnpm add oauth2-aio
yarn add oauth2-aio
bun add oauth2-aio
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2022-10-01 |
| First published | 2022-09-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 5 |
| Unpacked size | 32.8 KB |
| Known vulnerabilities | 0 (+24 in 1 direct dependencies) |
| Install scripts | no |
| Maintainers | xiaoxiunique |

## Links

- npm: https://www.npmjs.com/package/oauth2-aio
- npm.io page: https://npm.io/package/oauth2-aio

## Dependencies (5)

- [qs](https://npm.io/package/qs.md) ^6.11.0
- [gtc](https://npm.io/package/gtc.md) ^0.0.1
- [axios](https://npm.io/package/axios.md) ^0.27.2
- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [googleapis](https://npm.io/package/googleapis.md) ^107.0.0

## Recent versions

- 1.0.2 (latest) — 2022-10-01
- 1.0.1 — 2022-09-21
- 1.0.0 — 2022-09-20

## README

## oauth2 all in one
本项目参考了 Java 项目 JustAuth 的设计，将所有的第三方登录都整合到一个项目中，方便使用。
因为 JustAuth 项目是 Java 项目，Node 项目中没有类似的项目，所以本项目就诞生了。
原项目地址：[JustAuth](https://github.com/justauth/JustAuth)

设计上基本上保持一直，只是将 Java 项目中的代码翻译成了 Node 项目中的代码。做了一些小的改动，比如将 Java 项目中的枚举类型改成了字符串类型，因为 Node 项目中没有枚举类型。

目前支持的第三方登录有：
- [x] Google
- [x] Discord
- [x] Twitter

因为我公司只用到了这两个，其他的第三方登录后续会陆续实现。

项目地址：[oauth2-aio](https://github.com/xiaoxiunique/oauth2-aio)

## 使用方法

### 安装

```bash
npm install oauth2-aio
```

### 使用

```typescript
import {AuthGoogleRequest} from "../src";

const googleAuth = new AuthGoogleRequest({
  clientId: "clientId",
  clientSecret: "clientSecret",
  redirectUri: "redirectUri",
  scopes: []
})

const redirectUrl = googleAuth.authorize('32412341')
console.log(redirectUrl)
// exec(`open ${redirectUrl}`)

const r = await googleAuth.login({
  code: 'code'
})
console.log(r)
```

---
_Source: https://npm.io/package/oauth2-aio · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
