SnsAuthCallback
SNS認証URLを作成
Table of Contents
Properties
- $targetBlogId : int
- ターゲートブログID
- $type : string
- 処理タイプ
Methods
- canAccessAdminLoginFromCurrentIp() : bool
- 管理ログイン用のIP制限で、現在のIPアドレスからのアクセス可否を判定する。
- canAccessFromCurrentIp() : bool
- 処理タイプに応じて、現在のIPアドレスからのアクセスが許可されているか判定する。
- canAccessSigninFromCurrentIp() : bool
- 一般サインイン用のIP制限で、現在のIPアドレスからのアクセス可否を判定する。
- cleanupSession() : void
- セッションをクリーンアップ
- error() : never
- 失敗時
- extractAccountData() : array<string|int, mixed>
- ユーザー作成用にgoogle認証からユーザー情報を抜き出し
- findAccount() : null|array<string|int, mixed>
- 指定されたユーザーでログインできるか認証
- getEmail() : string
- APIレスポンスから、Emailアドレスを取得
- getIcon() : string
- APIレスポンスから、アカウントアイコンを取得
- getKeyName() : string
- データベースにSNSのsubを登録するカラム名
- getServiceName() : string
- SNSサービス名
- getSessionUserId() : int
- ログイン中ユーザー(連携登録の対象)のIDを取得する。
- getSubId() : string
- APIレスポンスから、アカウント識別IDを取得
- getTargetBlog() : int
- ターゲットブログをセッションから取得
- getType() : string
- 処理タイプをセッションから取得
- getUserName() : string
- APIレスポンスから、アカウント名を取得
- limitedAuthority() : array<string|int, mixed>
- 権限を制限
- oauth() : array<string|int, mixed>
- 認証してユーザー情報を取得
- oAuthCallbackProcess() : never
- Main
- redirect() : never
- リダイレクト
- regenerateLoginSession() : void
- ログインセッションを再生成する。
- register() : never
- 既存ユーザーに認証を登録
- runProcess() : never
- 各処理を開始
- searchUserFromDB() : array<string|int, mixed>
- 指定された(SNSアカウント含む)ユーザー情報を取得
- signin() : never
- サインイン
- signup() : never
- サインアップ
- success() : never
- 成功時
Properties
$targetBlogId
ターゲートブログID
protected
int
$targetBlogId
$type
処理タイプ
protected
string
$type
Methods
canAccessAdminLoginFromCurrentIp()
管理ログイン用のIP制限で、現在のIPアドレスからのアクセス可否を判定する。
protected
canAccessAdminLoginFromCurrentIp() : bool
Login ファサードへの薄いラッパー(テストで差し替え可能にするための seam)。
Return values
boolcanAccessFromCurrentIp()
処理タイプに応じて、現在のIPアドレスからのアクセスが許可されているか判定する。
protected
canAccessFromCurrentIp() : bool
- admin-login: 管理ログイン用のIP制限 (login_white_hosts / login_black_hosts)
- それ以外 (signin): 一般サインイン用のIP制限 (signin_white_hosts / signin_black_hosts)
findAccount() は signin / admin-login からのみ到達するため、この2分岐で過不足ない。
Return values
boolcanAccessSigninFromCurrentIp()
一般サインイン用のIP制限で、現在のIPアドレスからのアクセス可否を判定する。
protected
canAccessSigninFromCurrentIp() : bool
Login ファサードへの薄いラッパー(テストで差し替え可能にするための seam)。
Return values
boolcleanupSession()
セッションをクリーンアップ
protected
cleanupSession() : void
error()
失敗時
protected
error() : never
Return values
neverextractAccountData()
ユーザー作成用にgoogle認証からユーザー情報を抜き出し
protected
extractAccountData(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>
Return values
array<string|int, mixed>findAccount()
指定されたユーザーでログインできるか認証
protected
findAccount(string $key, string $id) : null|array<string|int, mixed>
Parameters
- $key : string
-
IDのタイプを指定 user_id | user_google_id | user_twitter_id
- $id : string
Return values
null|array<string|int, mixed>getEmail()
APIレスポンスから、Emailアドレスを取得
protected
abstract getEmail(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Tags
Return values
stringgetIcon()
APIレスポンスから、アカウントアイコンを取得
protected
abstract getIcon(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Tags
Return values
stringgetKeyName()
データベースにSNSのsubを登録するカラム名
protected
abstract getKeyName() : string
Return values
stringgetServiceName()
SNSサービス名
protected
abstract getServiceName() : string
Return values
stringgetSessionUserId()
ログイン中ユーザー(連携登録の対象)のIDを取得する。
protected
getSessionUserId() : int
グローバル定数 SUID への参照を集約した seam(テストで差し替え可能にするため)。
Return values
intgetSubId()
APIレスポンスから、アカウント識別IDを取得
protected
abstract getSubId(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Tags
Return values
stringgetTargetBlog()
ターゲットブログをセッションから取得
protected
getTargetBlog() : int
Return values
intgetType()
処理タイプをセッションから取得
protected
getType() : string
Return values
stringgetUserName()
APIレスポンスから、アカウント名を取得
protected
abstract getUserName(array<string|int, mixed> $data) : string
Parameters
- $data : array<string|int, mixed>
Tags
Return values
stringlimitedAuthority()
権限を制限
protected
limitedAuthority() : array<string|int, mixed>
Return values
array<string|int, mixed>oauth()
認証してユーザー情報を取得
protected
abstract oauth() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>oAuthCallbackProcess()
Main
protected
oAuthCallbackProcess() : never
Return values
neverredirect()
リダイレクト
protected
redirect(int $bid, array<string|int, mixed> $params) : never
Parameters
- $bid : int
- $params : array<string|int, mixed>
Return values
neverregenerateLoginSession()
ログインセッションを再生成する。
protected
regenerateLoginSession(int $uid) : void
グローバル関数 generateSession() への薄いラッパー(テストで差し替え可能にするための seam)。
Parameters
- $uid : int
register()
既存ユーザーに認証を登録
protected
register(array<string|int, mixed> $data) : never
Parameters
- $data : array<string|int, mixed>
Return values
neverrunProcess()
各処理を開始
protected
runProcess(array<string|int, mixed> $data) : never
Parameters
- $data : array<string|int, mixed>
Return values
neversearchUserFromDB()
指定された(SNSアカウント含む)ユーザー情報を取得
protected
searchUserFromDB(string $key, string $id) : array<string|int, mixed>
Parameters
- $key : string
-
IDのタイプを指定 user_id | user_google_id | user_twitter_id
- $id : string
Return values
array<string|int, mixed>signin()
サインイン
protected
signin(array<string|int, mixed> $data) : never
Parameters
- $data : array<string|int, mixed>
Return values
neversignup()
サインアップ
protected
signup(array<string|int, mixed> $data) : never
Parameters
- $data : array<string|int, mixed>
Return values
neversuccess()
成功時
protected
success([int $uid = 0 ]) : never
Parameters
- $uid : int = 0