# access-token-mongo

> 使用MongoDB读取和保存access_token信息

Latest version **2.0.0** (published 2015-06-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install access-token-mongo
pnpm add access-token-mongo
yarn add access-token-mongo
bun add access-token-mongo
```

## Health

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

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2015-06-05 |
| First published | 2015-03-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 1 |
| Author | na57 |
| Maintainers | na57 |
| Keywords | access_token, mongodb |

## Links

- npm: https://www.npmjs.com/package/access-token-mongo
- Repository: https://github.com/nagucc/access-token-mongo
- Issues: https://github.com/nagucc/access-token-mongo/issues
- npm.io page: https://npm.io/package/access-token-mongo

## Dependencies (2)

- [moment](https://npm.io/package/moment.md) ^2.10.3
- [mongodb](https://npm.io/package/mongodb.md) ^2.0.33

## Recent versions

- 2.0.0 (latest) — 2015-06-05
- 1.0.1 — 2015-03-31
- 1.0.0 — 2015-03-30

## README

# access-token-mongo
使用MongoDB读取和保存access_token

## 目的
当我们调用某些基于OAuth认证的API时，常常需要使用保存在一定时间范围内有效的access_token信息。
**access-token-mongo**组件为此类功能提供了统一的解决方案，使用MongoDB保存需要access_token。

## 安装
`npm install access-token-mongo`

## 用法

### 保存和读取微信企业号平台操作时生成的access_token

```
var API = require('wechat-enterprise-api');

// 2.0 以上版本使用 MongoDB的 Db 对象进行初始化
var AccessToken = require('access-token-mongo')(db);

var wxapi = new API('your appId', 'your secret', 0,
    function(callback){
        AccessToken.getToken({      // 获取数据库中保存的access_token
            appId: 'your appId',
            appSecret: 'your secret'
        }, function(err, token){
            callback(null, token);
        });
    },
    function(token, callback){
        AccessToken.saveToken({     // 保存access_token到数据库中
            appId: 'your appId',
            appSecret: 'your secret'
        }, token, function(){
            callback(null, token);
        });
    });

```

## API

### 初始化

`var AccessToken = require('access-token-mongo')(db, collectionName);`

当我们需要使用 **access-token-mongo**时，首先需要初始化，初始化方法有两个参数：
- *db* MongoDB数据库的连接对象。此参数是必须的。
- *collectionName* 此参数用于指定存放access_token数据的collection的名称。此参数是可选的，默认为“access_tokens”。

### 读取access_token

`AccessToken.getToken(options, callback)`

读取access_token的方法包括两个参数：
- *options* 参数对象。包括：
    - *appId* 用于指定获取access_token的appId，以便唯一标识一个access_token。此参数是必须的。
    - *secret* 用于指定获取access_token的secret，以便唯一标识一个access_token。此参数是必须的。
- *callback* 读取acccess_token之后执行的回调函数。包括两参数：
    - *err* 读取失败时的错误提示
    - *token* 读取到的access_token对象。

### 保存access_token

`AccessToken.saveToken(options, token, callback);`

保存access_token的方法包括三个参数：
- *options* 参数对象。包括：
    - *appId* 用于指定获取access_token的appId，以便唯一标识一个access_token。此参数是必须的。
    - *secret* 用于指定获取access_token的secret，以便唯一标识一个access_token。此参数是必须的。
    - *expire* 用于指定当前access_token的过期时间，单位是秒。此参数是可选的，默认为7000。
- *callback* 读取acccess_token之后执行的回调函数。包括两参数：
    - *err* 保存失败时的错误提示。无错误即保存成功。
    - *doc* 保存access_token之后返回的对象。一般用不到。

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