新闻详情

新闻详情

首页 / 资讯中心 / 详情

Bangumi OAuth 2.0 认证指南:第三方客户端登录与 Token 管理一次讲清

发布时间:2026/9/26 10:11:39来源:尧图网络
Bangumi OAuth 2.0 认证指南:第三方客户端登录与 Token 管理一次讲清
Bangumi OAuth 2.0 认证指南第三方客户端登录与 Token 管理一次讲清【免费下载链接】Bangumi:electron: An unofficial https://bgm.tv ui first app client for Android and iOS, built with React Native. 一个无广告、以爱好为驱动、不以盈利为目的、专门做 ACG 的类似豆瓣的追番记录bgm.tv 第三方客户端。为移动端重新设计内置大量加强的网页端难以实现的功能且提供了相当的自定义选项。 目前已适配 iOS / Android。项目地址: https://gitcode.com/GitHub_Trending/ba/BangumiBangumi 是一个基于 React Native 的 bgm.tv 追番记录第三方客户端。本文带你摸清它的 OAuth 认证登录流程和 Token 管理机制跑起来、看懂登录原理、绕开新手常踩的坑全部有仓库源码可查。① 它是干什么的一句话定位把 bgm.tv 的追番记录、讨论社区整体搬到手机上并且为移动端重新设计布局、加了不少网页端做不到的功能。一个典型使用画面早上刷手机打开客户端点一下昨天看完那一集标记成在看顺手翻翻每日放送页确认今天的新番再到讨论区看两楼。你标记的每一条进度都同步回 bgm.tv 账号——而这一切的前提就是客户端先通过登录拿到 API 权限。② 三步跑起来环境准备安装 Node.js 和 yarn国内网络建议先把 npm 源切回官方源README 明确提到部分依赖走淘宝源会报不允许代理的错。安卓打包还要正确的 JDK不是 JRE和 watchman。获取与启动git clone https://gitcode.com/GitHub_Trending/ba/Bangumi cd Bangumi yarnREADME 建议用 yarn 而不是 npm 装依赖因为项目年代久、依赖版本关系复杂。第一次上手注意 iOS 和安卓走的是两套运行时iOS 在 Expo 客户端里调试安卓走 metro 跑真机。安卓真机开启 USB 调试连上后按根目录 package.json 里的yarn dev启动即可看到登录界面。③ 一图看懂核心机制登录到底走哪条通道大白话结论Bangumi 用网页 cookie 维持登录态再用 OAuth 2.0 授权码模式换成 API 令牌两条通道分开走互不拖累。时间线如下你在登录页提交账号密码客户端带着表单码 formhash 请求/oauth/authorize服务器 302 跳转到一个带回调地址里面带有一次性授权码 code客户端拿 code 去/oauth/access_token换回 Bearer 令牌存进本地之后每个 API 请求自动在请求头里带上Authorization: Bearer 令牌令牌 7 天到期后客户端重新发起授权// src/stores/user/init.tsToken 初始结构与 7 天有效期 export const INIT_ACCESS_TOKEN { access_token: , expires_in: 604800, token_type: Bearer, refresh_token: }过期判断就一行逻辑当前时间戳减去更新时间超过 expires_in 就认定失效见computed.ts的isLoginExpired相关实现。④ 新手必踩的坑坑一yarn 装依赖报错或异常慢现象安装过程中途失败提示不允许代理或卡死。 原因npm 源被设成了淘宝镜像项目里的旧依赖和它不兼容。 解法npm config set registry https://registry.npmjs.org后重装。坑二照着网上 React Native 教程跑不起来现象expo start之类命令在安卓上没反应。 原因iOS 走 Expo 客户端、安卓走 metro两套运行时不能混用。 解法先确认你的目标平台按 README「本地开发」一节选对应的启动路径。坑三Token 过期了 App 居然还能用现象过了 7 天登录态显示异常但刷页面、看条目都正常。 原因API 令牌和网页 cookie 是两回事很多页面只走 cookie 通道。 解法别急着登出理解isLogin与isWebLogin的分工再判断当前是哪条通道掉了。坑四安卓打包失败现象gradlew 打包突然报 read timeout 或 watchman 相关错误。 原因依赖包缓存只有 24 小时或者本机没装 watchman。 解法进 android 目录执行./gradlew clean后重试必要时加--offline。⑤ FAQ问Token 过期了会强制掉线吗答不会直接掉线。客户端先检查isLoginExpired未过期就复用本地令牌授权换新令牌的过程失败时会重试超过上限才提示你重新登录整个过程基本无感。问为什么网页内容登出了还能看答因为网页视图走的是 cookie 通道API 令牌过期只影响接口鉴权。两条通道独立过期、独立恢复这也是它敢在网页慢或挂掉时仍保数据可用的底气。问init.ts 里那个 604800 是多久答604800 秒正好 7 天。它是令牌默认有效期配合 token_type、refresh_token 一起构成INIT_ACCESS_TOKEN的完整结构登录成功后被整体覆盖。⑥ 下一步建议想深挖认证细节直接读 src/stores/user/init.ts放初始状态、action.ts写登录登出与换令牌、computed.ts集中了登录态判断三个文件串起来就是全部流程。登录页面本身在 src/screens/login/表单、令牌两种登录形态都有独立目录。把这条链路走通你就有底气体谅多通道认证的取舍了。【免费下载链接】Bangumi:electron: An unofficial https://bgm.tv ui first app client for Android and iOS, built with React Native. 一个无广告、以爱好为驱动、不以盈利为目的、专门做 ACG 的类似豆瓣的追番记录bgm.tv 第三方客户端。为移动端重新设计内置大量加强的网页端难以实现的功能且提供了相当的自定义选项。 目前已适配 iOS / Android。项目地址: https://gitcode.com/GitHub_Trending/ba/Bangumi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

GD32F505 的主要资源、性能及应用深度分析 2026/9/26 11:08:30

GD32F505 的主要资源、性能及应用深度分析

目录 摘要 1 引言 2 核心性能与运算能力 2.1 Cortex-M33 内核 2.2 主频与基准性能 2.3 存储配置与灵活性 3 外设资源与接口 3.1 模拟外设 3.2 通信接口 3.3 定时器系统 3.4 封装选项 4 安全特性 4.1 硬件安全引擎 4.2 安全启动与固件更新 4.3 多层级硬件安全机制…

阅读更多 →
STM32开发参考方案全攻略:从找方案到避坑实战 2026/9/26 11:08:30

STM32开发参考方案全攻略:从找方案到避坑实战

1. 为什么“找方案”比“写代码”更让人头疼STM32 开发有个很拧巴的现实:芯片手册几百页,参考手册上千页,HAL 库函数几百个,但真正卡住一个项目进度的,往往不是某个寄存器位没配对,而是“我不知道这个功能别…

阅读更多 →
AI算力模块互连:CFE多元化PogoPin连接器选型与实战指南 2026/9/26 11:08:30

AI算力模块互连:CFE多元化PogoPin连接器选型与实战指南

这几年做AI数据中心相关项目的工程师,手头基本都绕不开“算力模块”这个东西。从GPU到DPU,再到各类定制AI加速卡,芯片本身的热点名年年换,但真正让硬件团队头疼的,往往是模块之间怎么连、怎么拆、怎么保证每一次插上去…

阅读更多 →
QNX内存分析实战:pmap命令详解与内存泄漏排查技巧 2026/9/26 11:08:30

QNX内存分析实战:pmap命令详解与内存泄漏排查技巧

写这篇之前先交代一个背景:我做QNX相关的开发调试有几年了,平时排查问题用得最多的三个命令就是pidin、pmap和hogs,其中pmap又是分析内存问题时第一个要抓的工具。很多人一开始上手QNX,觉得pmap输出乱七八糟看不懂,其实…

阅读更多 →
C#第二周学习的重点 2026/9/26 11:08:24

C#第二周学习的重点

本文记录面向对象编程的核心概念:类与对象、构造方法、方法重载,以及继承与重写。通过一个「学生信息管理系统」的实战案例,逐步理解 OOP 思想。一、类与对象 1.1 引言 今天主要学习了面向对象编程。面向对象不同于面向过程:面向过…

阅读更多 →
腾讯版“小龙虾”免费用!WorkBuddy 公测上线|QClaw 也在内测中:用 TaoToken 统一 Key 接入 WorkBuddy 与 QClaw 的 config.toml 骨架 2026/9/26 11:08:24

腾讯版“小龙虾”免费用!WorkBuddy 公测上线|QClaw 也在内测中:用 TaoToken 统一 Key 接入 WorkBuddy 与 QClaw 的 config.toml 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉