Think-Auth 开源项目安装与使用指南

Think-Auth 开源项目安装与使用指南

think-auth项目地址:https://gitcode.com/gh_mirrors/th/think-auth

1. 项目目录结构及介绍

欢迎使用Think-Auth,一个专为ThinkPHP框架设计的用户认证扩展包。以下是该项目的基本目录结构及其简介:

think-auth/
├── config        # 配置目录,存放所有与认证相关的配置文件。
│   └── auth.php  # 核心认证配置,定义提供者、守卫等。
├── src            # 源代码目录,包含了认证的核心逻辑。
│   ├── Auth       # 认证的主要类文件。
│   ├── Provider   # 用户认证提供者的实现。
│   └── ...        # 其他认证相关类。
├── tests          # 单元测试目录,确保代码质量。
├── composer.json  # Composer依赖管理文件,声明项目依赖与版本。
├── README.md      # 项目说明文件,简要介绍项目用途及快速入门指引。
└── LICENSE        # 许可证文件,通常为MIT或Apache-2.0,规定使用条款。

:实际目录结构可能会根据版本更新有所变化,上述仅为示例结构。

2. 项目的启动文件介绍

在Think-Auth中,并没有直接的“启动文件”,因为该库被设计为ThinkPHP框架的扩展,集成于框架内工作。启动过程实际上是通过ThinkPHP的自动加载机制完成的。当你在ThinkPHP的入口文件(通常是public下的index.php)中引入了Composer自动加载之后,Think-Auth即被激活并准备就绪。你需要遵循ThinkPHP的常规应用初始化流程来启动项目,这涉及到环境检查、框架加载以及路由解析等步骤。

3. 项目的配置文件介绍

主配置文件:config/auth.php

这是Think-Auth配置的核心所在,它允许你定制认证行为。主要配置项包括:

  • guards:定义认证守卫,比如session或者token认证。

    'guards' => [
        'web' => [
            'driver' => 'session',
            // ...其他配置
        ],
        'api' => [
            'driver' => 'token',
            // ...其他配置
        ],
    ],
    
  • providers:指定了用户数据的来源,通常是数据库。

    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\Models\User::class,
        ],
    ],
    
  • policies(如果适用):用于基于角色的访问控制,定义哪些模型的哪些操作受特定用户角色限制。

通过这个配置文件,你可以灵活设置认证机制,如更改默认守卫、自定义用户模型或调整认证策略,从而满足不同场景的需求。

请注意,具体配置细节和可用选项应参照项目最新的文档或配置文件注释,以获得最精确的信息。由于提供的链接指向的是假设性的GitHub仓库,实际配置内容可能有所不同。务必检查你所使用的Think-Auth版本的实际文档和文件。

think-auth项目地址:https://gitcode.com/gh_mirrors/th/think-auth

THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等) 使用方式: 1、使用命名空间 use Org\ThinkSDK\ThinkOauth; 2、设置三方登录的类别并赋予一个变量 $type = ThinkOauth::getInstance('qq'); 3、设置配置文件 'THINK_SDK_(TYPE)' => array( 'APP_KEY' => '', //应用注册成功后分配的 APP ID 'APP_SECRET' => '', //应用注册成功后分配的KEY 'CALLBACK' => '', //注册应用填写的callback ), 上文中的(TYPE)为设置的类别,其值目前有以下几个: //腾讯QQ登录配置 THINK_SDK_QQ // 用户基本信息API接口 user/get_user_info //腾讯微博配置 THINK_SDK_TENCENT // 用户基本信息API接口 user/info //新浪微博配 THINK_SDK_SINA // 用户基本信息API接口 users/show。附加参数:'uid='.$obj->openid() //网易微博配置 THINK_SDK_T163 // 用户基本信息API接口 users/show //人人网配置 THINK_SDK_RENREN // 用户基本信息API接口 users.getInfo //360配置 THINK_SDK_X360 // 用户基本信息API接口 user/me //豆瓣配置 THINK_SDK_DOUBAN // 用户基本信息API接口 user/~me //Github配置 THINK_SDK_GITHUB // 用户基本信息API接口 user //Google配置 THINK_SDK_GOOGLE // 用户基本信息API接口 userinfo //MSN配置 THINK_SDK_MSN // 用户基本信息API接口 msn。附加参数:token //点点配置 THINK_SDK_DIANDIAN // 用户基本信息API接口 user/info //淘宝网配置 THINK_SDK_TAOBAO // 用户基本信息API接口 taobao.user.buyer.get。附加参数:'fields=user_id,nick,sex,buyer_credit,avatar,has_shop,vip_info' //百度配置 THINK_SDK_BAIDU // 用户基本信息API接口 passport/users/getLoggedInUser // 注意,百度的头像位置是http://tb.himg.baidu.com/sys/portrait/item/{$data['portrait']} //开心网配置 THINK_SDK_KAIXIN // 用户基本信息API接口 users/me //搜狐微博配置 THINK_SDK_SOHU // 用户基本信息API接口 i/prv/1/user/get-basic-info 4、实例化一个登录页面 redirect($type->getRequestCodeURL()); 这里的$type是第二部获取的结果 5、回调页面 $code = $this->get('code'); $type = 'QQ'; $sns = ThinkOauth::getInstance($type); //腾讯微博需传递的额外参数 $extend = null; if($type == 'tencent'){ $extend = array('openid' => $this->_get('openid'), 'openkey' => $this->_get('openkey')); } //请妥善保管这里获取到的Tok
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

苏承根

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

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

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

打赏作者

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

抵扣说明:

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

余额充值