PHPackages                             chatbox/signup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. chatbox/signup

ActiveProject[Authentication &amp; Authorization](/categories/authentication)

chatbox/signup
==============

authenticate provider

025PHP

Since Apr 23Pushed 11y ago2 watchersCompare

[ Source](https://github.com/chatbox-inc/signup)[ Packagist](https://packagist.org/packages/chatbox/signup)[ RSS](/packages/chatbox-signup/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

認証用ライブラリ
========

[](#認証用ライブラリ)

構成
--

[](#構成)

基本ユーザオブジェクトのファクトリとして働く。

- \[invitation\] ユーザデータの新規登録
- \[reminder\] ユーザ認証情報のリセット
- \[serializer\] ユーザ情報の永続化。セッションやトークンなど
- \[loader\] 永続化されたユーザ情報のロード
- セッションの抽象化はなし。

### 作業めも

[](#作業めも)

セッション永続化まで完了

続きトークン永続化へ

pimpleへのセット&amp;取り出し

### セットアップ

[](#セットアップ)

```
$signUp = new SignUp;

```

### Auth

[](#auth)

```

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

```

### invitation

[](#invitation)

ユーザデータの作成

```
$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

[](#reminder)

```

$reminder = new Reminder($user);

$reminder->publish();

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

$signUp->accept($reminder)

```

利点
--

[](#利点)

ユーザオブジェクトなどアプリケーションロジックに関わる部分の独立性は維持しつつも、 トークンやログイン試行回数制限、セッション埋め込みなどの処理を賄う。

### 主な機能

[](#主な機能)

- セッション処理: セッションマネージャを差し込むことでセッション処理を担当
- ログイン試行回数制限: ログイン試行回数を自動的に記録して云々
- ソーシャルログイン機能: ソーシャルアカウントとユーザIDを紐付けてあれする(hybridAuthのラッパー)。

kbec オブジェクトのインターフェイス
--------------------

[](#kbec-オブジェクトのインターフェイス)

### auth

[](#auth-1)

セッションからログイン状態を読み取ってユーザオブジェクトを取得する。

### login

[](#login)

httpパラメータからログイン情報をうけとり、検証し、ユーザオブジェクトを生成してセッションに保存する。

認証処理とは...
---------

[](#認証処理とは)

- 認証情報をPOSTとかSESSIONから受け取る
- 認証情報をユーザオブジェクト生成用のPKに変換する。 − ユーザ識別子からユーザオブジェクトを生成する。

### 認証情報

[](#認証情報)

− トークン − ソーシャルID − ID &amp; パスワード − セッション埋込キー

### 永続化のための処理

[](#永続化のための処理)

− ユーザは繰り返し使用可能な継続認証情報を持っているため、特別な処理は不要(再ログイン形式) − 毎回認証情報を送信させる処理が手間なため、セッションやクッキーにキーを埋め込んで省略ログイン可能なように計らう。

Usage
-----

[](#usage)

```
$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();

```

UserInterface
-------------

[](#userinterface)

findByPk($pk) : プライマリーキーからオブジェクトを生成する。

getId : 識別子 checkCred : 認証識別子のチェック方法を決める getCred : パスワードリセット時に返すべき情報のまとめ isLoginable : ログイン可能か決める。通常常にtrueだがbanやactivatedを実装するときはその限りでない。

Sentryのインターフェイス
---------------

[](#sentryのインターフェイス)

credベースのログインと、userオブジェクトベースのログイン

ログインという処理は単なるuserオブジェクトのファクトリではなく、 パスワードリセットフィールドやログイン試行ログの消去を兼ねている。

その他、Sentryにはuserのfindエントリやlogoutエントリ、userオブジェクトを用いたcheck機構がある

### check

[](#check)

ソシャゲとかで、statusとかのデータAPIを叩いた時に 認証ユーザ(自分の)の情報か他人の情報か観るときとかに使うっぽい

認証という機能について考える
--------------

[](#認証という機能について考える)

− ユーザオブジェクトのファクトリ − 試行回数の制御 − cred情報の

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/d4341b789304ab56cc60e3891bbd51c6a4aa12e0e4ffff977eb3de385796cf01?d=identicon)[chatbox-inc](/maintainers/chatbox-inc)

---

Top Contributors

[![chatbox-inc-hoge](https://avatars.githubusercontent.com/u/10617146?v=4)](https://github.com/chatbox-inc-hoge "chatbox-inc-hoge (1 commits)")

### Embed Badge

![Health badge](/badges/chatbox-signup/health.svg)

```
[![Health](https://phpackages.com/badges/chatbox-signup/health.svg)](https://phpackages.com/packages/chatbox-signup)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[beatswitch/lock

A flexible, driver based Acl package for PHP 5.4+

870304.7k2](/packages/beatswitch-lock)[amocrm/amocrm-api-library

amoCRM API Client

182728.5k6](/packages/amocrm-amocrm-api-library)[vonage/jwt

A standalone package for creating JWTs for Vonage APIs

424.1M4](/packages/vonage-jwt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
