Tesseral 开源项目最佳实践教程
tesseral 项目地址: https://gitcode.com/gh_mirrors/te/tesseral
1. 项目介绍
Tesseral 是一个为 B2B SaaS 提供的开源身份验证基础设施。它是一个多租户、API 首先的服务,设计用于在云上运行。Tesseral 不是一个绑定到特定语言或框架的认证库;它可以与任何技术栈一起工作。项目提供了托管服务,同时也支持自我托管。
2. 项目快速启动
环境准备
在开始之前,请确保您的开发环境已经安装了以下依赖:
- Node.js
- npm 或 yarn
安装步骤
-
克隆项目到本地:
git clone https://github.com/tesseral-labs/tesseral.git cd tesseral
-
安装依赖:
npm install
-
运行项目:
npm start
集成前端
以 React 为例,您可以按照以下步骤集成 Tesseral SDK:
-
安装 Tesseral React SDK:
npm install @tesseral/tesseral-react
-
在 React 应用中引入
TesseralProvider
:import { createRoot } from 'react-dom/client'; import { TesseralProvider } from '@tesseral/tesseral-react'; import App from './App.tsx'; const root = createRoot(document.getElementById('root')); root.render( <TesseralProvider publishableKey="publishable_key_..."> <App /> </TesseralProvider> );
集成后端
以 Flask 为例,您可以按照以下步骤集成 Tesseral SDK:
-
安装 Flask SDK:
pip install tesseral_flask
-
在 Flask 应用中添加认证中间件:
from flask import Flask from tesseral_flask import access_token_claims, require_auth app = Flask(__name__) @app.before_request def before_request(): require_auth(publishable_key="publishable_key_...") @app.route("/api/hello", methods=["GET"]) def hello(): email = access_token_claims().user.email return f"hello, {email}" if __name__ == "__main__": app.run(debug=True, port=5050)
3. 应用案例和最佳实践
案例一:多租户身份验证
在 B2B SaaS 应用中,每个客户都可以拥有自己的租户,通过 Tesseral 可以轻松实现多租户身份验证。
# Flask 示例代码
@app.route("/api/tenant/<tenant_id>/user", methods=["GET"])
def get_user(tenant_id):
user = get_user_by_tenant(tenant_id)
return jsonify(user)
案例二:用户邀请和自助配置
Tesseral 提供了用户邀请和自助配置功能,可以轻松地让用户邀请同事并管理自己的登录设置。
# Flask 示例代码
@app.route("/api/invite", methods=["POST"])
def invite_user():
invite_user_to_tenant(invite_email, tenant_id)
return jsonify({"status": "invited"})
4. 典型生态项目
Tesseral 的生态中包括了多个 SDK,如 React、Express、Flask 和 Golang 等,以便于开发者在不同框架中快速集成身份验证功能。同时,社区也在不断发展中,欢迎更多的贡献和反馈。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考