V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
notot
V2EX  ›  Node.js

用 Node 实现了一下 JustAuth

  •  
  •   notot · 2022-09-21 23:29:27 +08:00 · 3859 次点击
    这是一个创建于 828 天前的主题,其中的信息可能已经有所发展或是发生改变。

    oauth2 all in one

    本项目参考了 Java 项目 JustAuth 的设计,将所有的第三方登录都整合到一个项目中,方便使用。 因为 JustAuth 项目是 Java 项目,Node 项目中没有类似的项目,所以本项目就诞生了。 原项目地址:JustAuth

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

    目前支持的第三方登录有:

    • Google
    • Discord
    • Twitter

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

    项目地址:oauth2-aio

    使用方法

    安装

    npm install oauth2-aio
    

    使用

    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)
    
    4 条回复    2022-11-02 18:06:31 +08:00
    wuxqing
        1
    wuxqing  
       2022-09-22 08:19:57 +08:00   ❤️ 1
    Passport.js 就是这类项目
    qfdk
        2
    qfdk  
       2022-09-22 12:20:50 +08:00 via iPhone   ❤️ 1
    为啥不用 passport.js ?
    notot
        3
    notot  
    OP
       2022-09-24 00:30:02 +08:00
    哈哈哈 我都不知道
    humbass
        4
    humbass  
       2022-11-02 18:06:31 +08:00
    @qfdk 好东西啊 ,,必须赞一下。

    造轮子前还真是有必要查下是否有已存在的轮子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2647 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:48 · PVG 19:48 · LAX 03:48 · JFK 06:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.