frozennode/social

Social是Laravel的HybridAuth实现

dev-master 2014-01-29 22:25 UTC

This package is not auto-updated.

Last update: 2024-09-09 16:12:03 UTC


README

需求

  • Laravel 4
  • 迁移数据库设置
  • 一个"User"模型(可以在配置中设置不同的名称)
  • 在深入之前,您已经阅读了配置的说明:)

安装

  1. 将依赖项添加到您的composer.json文件中:"frozennode/social": "*"

  2. 运行php composer.phar install

  3. 'Frozennode\Social\SocialServiceProvider',添加到您的config/app.php文件中

  4. 发布包配置php artisan config:publish frozennode/social

  5. 将服务凭证添加到app/config/packages/frozennode/social/hybridauth.php

  6. 检查app/config/packages/frozennode/social/db.php文件以查看是否需要自定义任何内容(有关帮助,请参阅下面的配置

  7. 运行迁移php artisan migrate --package='frozennode/social'

  8. 创建Profile模型(如果您更改了配置,则使用不同的名称)

  9. 将User设置为拥有多个Profile

        public function profiles() {
            return $this->hasMany('Profile');
        }
    
  10. 将Profile设置为属于一个User

        public function user() {
            return $this->belongsTo('User');
        }
    

配置

此包包含多个配置文件,您必须至少编辑其中一个。

在运行此包之前,您需要发布配置文件到您的应用程序,您可以使用Artisan轻松完成此操作

artisan config:publish frozennode/social

然后您将在app/config/packages目录中找到配置文件。

hybridauth.php

确保输入您所有的服务凭证(从Facebook、LinkedIn等获得的应用ID和应用密钥)。

这是几乎与HybridAuth库本身使用的配置完全相同的配置集,因此请参阅其文档以获取更多信息。

db.php

此文件指定与您的数据库和模型相关的所有内容。此包期望您有一个用户表,并且它将为您创建一个具有迁移的配置文件。

请注意,您应该在运行迁移之前编辑此文件,因为迁移本身会读取此配置。

希望此文件中的大多数值都是自解释的,例外的是"profiletousermap"、"userrules"和"uservalues"键。

profilestousersmap

当从社交登录创建新用户时使用此功能。您可能会遇到一些属性映射到Profile的情况,但您可能希望将它们直接保留在User模型中以简化未使用此方法注册的用户的处理。

指定此内容将映射来自Profile的字段到新创建的用户。

键是Profile的属性名称(与原始HybridAuth适配器相匹配),值是User模型上的属性名称。

userrules

如果您使用Ardent来自动验证模型(并在验证失败时阻止其保存),您可能希望在创建新用户时在此处指定一组覆盖规则。

uservalues

这与profiletousermap类似,但更加灵活。您可以为新用户的某些属性指定特定的值(例如,所有"customers"的"role_id"),甚至提供回调函数运行 - 回调函数将传递新(未保存)用户和原始HybridAuth适配器配置的值。

路由

请参阅routes.php配置文件以更改默认路由