api-authentication by secondsky/claude-skills
npx skills add https://github.com/secondsky/claude-skills --skill api-authentication使用现代标准和最佳实践为 API 实现安全的认证机制。
| 方法 | 使用场景 | 安全级别 |
|---|---|---|
| JWT | 无状态认证、单页应用 | 高 |
| OAuth 2.0 | 第三方集成 | 高 |
| API 密钥 | 服务间通信 | 中 |
| 会话 | 传统 Web 应用 | 高 |
const jwt = require('jsonwebtoken');
const generateTokens = (user) => ({
accessToken: jwt.sign(
{ userId: user.id, role: user.role },
process.env.JWT_SECRET,
{ expiresIn: '15m' }
),
refreshToken: jwt.sign(
{ userId: user.id, type: 'refresh' },
process.env.REFRESH_SECRET,
{ expiresIn: '7d' }
)
});
const authMiddleware = (req, res, next) => {
const authHeader = req.headers.authorization;
// 验证授权头格式
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return res.status(401).json({ error: '授权头格式错误' });
}
const parts = authHeader.split(' ');
if (parts.length !== 2) {
return res.status(401).json({ error: '授权头格式错误' });
}
const token = parts[1];
if (!token) {
return res.status(401).json({ error: '未提供令牌' });
}
try {
req.user = jwt.verify(token, process.env.JWT_SECRET);
next();
} catch (err) {
res.status(401).json({ error: '无效令牌' });
}
};
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
app.use((req, res, next) => {
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('Strict-Transport-Security', 'max-age=31536000');
next();
});
查看 references/python-flask.md 了解:
每周安装次数
91
仓库
GitHub 星标数
90
首次出现
2026年1月22日
安全审计
已安装于
claude-code71
gemini-cli70
codex68
opencode67
cursor66
github-copilot65
Implement secure authentication mechanisms for APIs using modern standards and best practices.
| Method | Use Case | Security Level |
|---|---|---|
| JWT | Stateless auth, SPAs | High |
| OAuth 2.0 | Third-party integration | High |
| API Keys | Service-to-service | Medium |
| Session | Traditional web apps | High |
const jwt = require('jsonwebtoken');
const generateTokens = (user) => ({
accessToken: jwt.sign(
{ userId: user.id, role: user.role },
process.env.JWT_SECRET,
{ expiresIn: '15m' }
),
refreshToken: jwt.sign(
{ userId: user.id, type: 'refresh' },
process.env.REFRESH_SECRET,
{ expiresIn: '7d' }
)
});
const authMiddleware = (req, res, next) => {
const authHeader = req.headers.authorization;
// Validate authorization header format
if (!authHeader || !authHeader.startsWith('Bearer ')) {
return res.status(401).json({ error: 'Malformed authorization header' });
}
const parts = authHeader.split(' ');
if (parts.length !== 2) {
return res.status(401).json({ error: 'Malformed authorization header' });
}
const token = parts[1];
if (!token) {
return res.status(401).json({ error: 'No token provided' });
}
try {
req.user = jwt.verify(token, process.env.JWT_SECRET);
next();
} catch (err) {
res.status(401).json({ error: 'Invalid token' });
}
};
app.use((req, res, next) => {
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('Strict-Transport-Security', 'max-age=31536000');
next();
});
See references/python-flask.md for:
Weekly Installs
91
Repository
GitHub Stars
90
First Seen
Jan 22, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
claude-code71
gemini-cli70
codex68
opencode67
cursor66
github-copilot65
Linux云主机安全托管指南:从SSH加固到HTTPS部署
46,900 周安装
阿里云AI图像Qwen模型测试技能 - 最小可行性验证与安装指南
271 周安装
Feishu Docx Exporter:飞书/Lark文档转Markdown工具,支持AI分析、批量导出与内容管理
272 周安装
阿里云AI音频TTS语音设计测试技能 - 最小可行性测试与验证指南
272 周安装
SwiftData 教程:iOS 17+ 原生持久化框架,与 SwiftUI 集成和 CloudKit 同步
275 周安装
阿里云AI语音TTS测试技能 - 最小可行测试验证与安装指南
274 周安装
阿里云DNS CLI测试指南:alicloud-network-dns-cli-test 安装与使用教程
273 周安装