Tesseral 开源项目最佳实践教程

Tesseral 开源项目最佳实践教程

tesseral tesseral 项目地址: https://gitcode.com/gh_mirrors/te/tesseral

1. 项目介绍

Tesseral 是一个为 B2B SaaS 提供的开源身份验证基础设施。它是一个多租户、API 首先的服务,设计用于在云上运行。Tesseral 不是一个绑定到特定语言或框架的认证库;它可以与任何技术栈一起工作。项目提供了托管服务,同时也支持自我托管。

2. 项目快速启动

环境准备

在开始之前,请确保您的开发环境已经安装了以下依赖:

  • Node.js
  • npm 或 yarn

安装步骤

  1. 克隆项目到本地:

    git clone https://github.com/tesseral-labs/tesseral.git
    cd tesseral
    
  2. 安装依赖:

    npm install
    
  3. 运行项目:

    npm start
    

集成前端

以 React 为例,您可以按照以下步骤集成 Tesseral SDK:

  1. 安装 Tesseral React SDK:

    npm install @tesseral/tesseral-react
    
  2. 在 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:

  1. 安装 Flask SDK:

    pip install tesseral_flask
    
  2. 在 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 等,以便于开发者在不同框架中快速集成身份验证功能。同时,社区也在不断发展中,欢迎更多的贡献和反馈。

tesseral tesseral 项目地址: https://gitcode.com/gh_mirrors/te/tesseral

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仲羿禹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值