xoauth2中文文档|xoauth2 js中文教程|解析

npm npmdoc 2年前 (2021-12-08) 502次浏览

xoauth2中文文档|xoauth2 js中文教程|解析

安装命令:npm i xoauth2

xoauth2

使用 node.js 生成 XOAuth2 令牌

安装

npm install xoauth2

用法

xoauth2 从提供的客户端和用户凭据生成 XOAUTH2 登录令牌。

使用xoauth2.createXOAuth2Generator(options)初始化令牌生成器

可能的选项值:

请参阅https://developers.google.com/identity/protocols/OAuth2WebServer#offline以生成所需的凭据

对于 Google 服务帐户,选项值为:

  • service (必需)服务帐户电子邮件。
  • 用户 (必填)用户电子邮件地址
  • 范围 (必需) OAuth2 范围。
  • privateKey (必需)为服务帐户以 PEM 格式发布的私钥,作为字符串。
  • serviceRequestTimeout (可选)要在令牌请求中使用的过期值(以秒为单位)最大值为 3600。
  • accessUrl (可选)令牌生成端点(默认为https://accounts.google.com/o/oauth2/token
  • accessToken (可选)初始访问令牌。如果未设置,将生成一个新的
  • 超时 (可选)秒为单位的TTL
  • customHeaders (可选)在令牌生成请求期间发送的自定义标头
  • customParams (可选)自定义有效负载以在 getToken 请求时发送

方法

请求访问令牌

使用xoauth2obj.getToken(callback)获得的访问令牌。如果找到缓存的令牌并且它不应过期,则将使用缓存的值。

请求生成新的访问令牌

使用xoauth2obj.generateToken(callback)获得的访问令牌。不会使用缓存并生成新令牌。

更新访问令牌值

使用xoauth2obj.updateToken(accessToken, timeout)来设置xoauth2访问令牌的新值。此函数发出“令牌”

活动

如果已设置新令牌值,'token'则发出事件。

xoauth2obj.on("token", function(token){
    console.log("User: ", token.user); // e-mail address
    console.log("New access token: ", token.accessToken);
    console.log("New access token timeout: ", token.timeout); // TTL in seconds
});

例子

var xoauth2 = require("xoauth2"),
    xoauth2gen;

xoauth2gen = xoauth2.createXOAuth2Generator({
    user: "user@gmail.com",
    clientId: "{Client ID}",
    clientSecret: "{Client Secret}",
    refreshToken: "{User Refresh Token}",
    customHeaders: {
      "HeaderName": "HeaderValue"
    },
    customPayload: {
      "payloadParamName": "payloadValue"
    }
});

// ... or for a Google service account
xoauth2gen = xoauth2.createXOAuth2Generator({
    user: "user@gmail.com",
    service: '{Service Email Address}',
    scope: 'https://mail.google.com/',
    privateKey: '{Private Key in PEM format}'
});

// SMTP/IMAP
xoauth2gen.getToken(function(err, token){
    if(err){
        return console.log(err);
    }
    console.log("AUTH XOAUTH2 " + token);
});

// HTTP
xoauth2gen.getToken(function(err, token, accessToken){
    if(err){
        return console.log(err);
    }
    console.log("Authorization: Bearer " + accessToken);
});

执照

麻省理工学院

项目贡献人员列表:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:xoauth2中文文档|xoauth2 js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}