chatbox/signup

验证提供者

安装: 25

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 3

分支: 0

类型:项目

dev-master 2015-04-23 04:09 UTC

This package is not auto-updated.

Last update: 2024-09-28 18:21:13 UTC


README

构成

作为基本用户对象工厂工作。

  • [邀请] 用户数据的新注册

  • [提醒] 用户认证信息重置

  • [序列化器] 用户信息的持久化。会话或令牌等

  • [加载器] 加载持久化用户信息

  • 没有会话的抽象化。

工作日志

会话持久化完成

继续令牌持久化

pimple的设置和获取

设置

$signUp = new SignUp;

认证


$passwordAuth = $signUp->authProvider("password");
$user = $passwordAuth->getUser($cred);

邀请

创建用户数据

$inv = $signUp->newInvitation($mail,$data);

$inv->publish();

$inv = $signUp->loadInvitation($key);

$email = $inv->getMailAdress();
$hoge = $inv->get("hoge");//get $data["hoge"]

$user = $signUp->accept($inv);

$passwordAuth->bind($user,$cred);

持久化

$serializer = $signUp->serializeProvider("session");

$key = $serializer->save($user); //セッションエントリキーやトークンなど

$user = $serializer->load($key);

$serializer->reset($user);

提醒


$reminder = new Reminder($user);

$reminder->publish();

$reminder = Reminder::load($key);

$signUp->accept($reminder)

优点

在保持用户对象等应用程序逻辑部分独立性的同时,还处理令牌、登录尝试次数限制、会话嵌入等操作。

主要功能

  • 会话处理:通过插入会话管理器来处理会话处理
  • 登录尝试次数限制:自动记录登录尝试次数等
  • 社交登录功能:将社交帐户与用户ID关联(hybridAuth的包装器)。

kbec对象接口

认证

从会话中读取登录状态以获取用户对象。

登录

从http参数中获取登录信息,验证并生成用户对象,然后将其保存到会话中。

认证处理是...

  • 从POST或SESSION接收认证信息
  • 将认证信息转换为用户对象生成用PK。 - 从用户标识符生成用户对象。

认证信息

− 令牌 − 社交ID − ID和密码 − 会话嵌入键

持久化处理

− 用户拥有可重复使用的持续认证信息,因此不需要特殊处理(再次登录形式) - 每次发送认证信息的处理很麻烦,因此将键嵌入会话或Cookie中,以便可以省略登录。

用法

$wap = new \Wap\Wap($credLoaders,$userFactory);
// or use configuration
$wap = \Wap\Wap::forge();

$user = $wap->login();

// to seiralize
$wap->setSession();

令牌处理

由于每次都直接交换认证信息很麻烦,因此产生的令牌类处理。

− 第一次进行沉重的认证流程。 - 认证流程成功后,发行令牌并将令牌信息发送回。 - 使用令牌进行第二次简化的认证处理。 - 令牌每次使用时都会更新使用日期。

− 如果发送的令牌已过期,但在令牌重新发行期内,则发送新的令牌。

$wap = new \Wap\Wap();
$user = $wap->login();//重た目の認証

if($wap->getLoginType($user) === $socialCredLoader){
    $token = $wap->publishToken()
    $response->setToken($token);
}else if($wap->getLoginType($user) === $socialCredLoader && $wap($expired)){
    $response->setToken($wap->rePublishToken);
}
// to seiralize
$wap->setSession();

用户界面

findByPk($pk) : 从主键生成对象。

getId : 标识符 checkCred : 决定认证标识符的检查方法 getCred : 返回密码重置时应返回的信息汇总 isLoginable : 决定是否可登录。通常始终为true,但在实现ban或activated时可能不是。

Sentry接口

基于cred的登录和基于user对象的登录

登录处理不仅仅是用户对象的工厂,还包括密码重置字段和登录尝试日志的删除。

此外,Sentry还包括用户find条目、logout条目和使用用户对象进行的check机制

检查

在像社交游戏一样,在敲击status等数据API时,查看是认证用户(自己的)的信息还是他人的信息时使用。

考虑认证功能

− 用户对象工厂 - 尝试次数控制 - cred信息