atticmedia/anvard

Laravel 4的HybridAuth社交登录包

dev-master 2014-07-03 21:31 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:54:23 UTC


README

需求

  • Laravel 4.1.x
  • 迁移数据库设置
  • 一个"用户"模型(你可以在配置中设置不同的名称)
  • 在你深入之前,请阅读配置说明:)

安装

  1. 将依赖项添加到你的composer.json文件中:"atticmedia/anvard": "dev-master"
  2. 运行php composer.phar installcomposer update
  3. 'Atticmedia\Anvard\AnvardServiceProvider',添加到你的config/app.php文件中
  4. 发布包配置:php artisan config:publish atticmedia/anvard
  5. 将你的服务凭证添加到app/config/packages/atticmedia/anvard/hybridauth.php
  6. 检查app/config/packages/atticmedia/anvard/db.php文件,看是否需要自定义任何内容(有关帮助,请参阅下面的配置
  7. 运行迁移:php artisan migrate --package=atticmedia/anvard
  8. 创建Profile模型(如果你改变了配置,请使用不同的名称)
  9. 设置用户可以有多个配置文件

     public function profiles() {
         return $this->hasMany('Profile');
     }
    
  1. 设置配置文件属于用户,并设置某些可填充字段

     class Profile extends Eloquent  {
    
         protected $fillable = array('provider', 'user_id');
    
         public function user() {
             return $this->belongsTo('User');
         }
     }
    
    
    

如果你遇到关于hybridauth的composer错误。你可能需要执行以下操作之一

选项1:你可能需要在composer中添加以下内容

"minimum-stability": "dev",
"prefer-stable": true

选项2:而不是上面的步骤,如果你不想更改整个项目的minimum-stability,你可以在composer.json中添加"hybridauth/hybridauth": "2.*@dev"

配置

Anvard附带了一些配置文件,你必须至少编辑其中一个。

在运行Anvard之前,你需要将包配置文件发布到自己的应用程序中,这可以通过artisan轻松完成

php artisan config:publish atticmedia/anvard

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

hybridauth.php

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

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

唯一例外是"base_url",Anvard本身根据其配置的路由指定。

db.php

此文件指定与数据库和模型相关的所有内容。Anvard期望你有一个用户表,并将为你创建一个配置文件表。

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

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

profilestousersmap

当从社交登录创建新用户时使用。一个相当常见的情况是,你将在用户上有一组属性映射到配置文件,但你可能希望直接在用户模型中保留它们以简化处理未使用此方法注册的用户的生活。

指定此内容将映射配置文件的字段到新创建的用户。

键是配置文件(反映原始HybridAuth适配器)的属性名称,值是用户模型上的属性名称。

userrules

如果你使用Ardent来自动验证模型(并在验证失败时阻止它们保存)时,你可能在创建新用户时想在这里指定一组覆盖规则。

例如,我们无法获取Anvard创建的用户的密码,因此您可以禁用那里的确认要求。

用户值

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

views.php

Anvard提供了自己极其简单的视图。更改此设置以指定您自己的视图。

路由

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