I'm trying to install this http://ift.tt/1X3gHd0 (with some of my own custom fields)
It works fine and all except for that it doesn't create the users (it creates the table) when I log in and I don't know why.
AuthController.php
namespace App\Http\Controllers;
use Invisnik\LaravelSteamAuth\SteamAuth;
use App\User;
use Auth;
class AuthController extends Controller
{
/**
* @var SteamAuth
*/
private $steam;
public function __construct(SteamAuth $steam)
{
$this->steam = $steam;
}
public function login()
{
if ($this->steam->validate()) {
$info = $this->steam->getUserInfo();
if (!is_null($info)) {
$user = User::where('steamid', $info->steamID64)->first();
if (is_null($user)) {
$user = User::create([
'username' => $info->personaname,
'avatar' => $info->avatarfull,
'steamid' => $info->steamID64
]);
}
Auth::login($user, true);
return redirect('/'); // redirect to site
}
}
return $this->steam->redirect(); // redirect to Steam login page
}
}
create_users_table.php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('nickname');
$table->string('avatar');
$table->string('steamid')->unique();
$table->string('name');
$table->string('rank');
$table->string('community_id');
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
web.php
Route::get('login', 'AuthController@login')->name('login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
steam-auth.php
return [
/*
* Redirect URL after login
*/
'redirect_url' => '/',
/*
* API Key (http://ift.tt/1bjGKjY)
*/
'api_key' => 'xxx',
/*
* Is using https ?
*/
'https' => false
];
User.php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['nickname', 'avatar', 'steamid', 'name', 'rank', 'community_id', 'email', 'password'];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
Any ideas?
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire