Auth

モジュール概要

Authentication service, client, and storage.

チュートリアル

最初に以下の最小例でモジュール利用方法を確認し、その後 API リファレンスを参照してください。

from nexom.app.auth import AuthService

service = AuthService(
    db_path='data/db/auth/auth.db',
    log_path='data/log/auth/access.log',
    ttl_sec=60 * 60 * 24 * 7,
)
# WSGI からは service.handler(environ) を呼ぶ

運用チェックリスト

  • 本番では例外処理を必ず実装し、戻り値の型を固定してください。
  • 引数のデフォルト値と必須/任意を仕様書としてチーム内で固定してください。
  • ログと監視を追加し、エラー時の復旧手順を運用Runbookに記載してください。

API リファレンス(全関数・全メソッド)

モジュール関数

_now

分類: internal function

シグネチャ

_now() -> int

使い方と仕様

実装コード由来のAPIです。

引数

  • 引数なし

戻り値

int

例外・注意点

実装コード内の例外仕様を確認してください。

利用例

from nexom.app.auth import _now

result = _now()
print(result)

_rand

分類: internal function

シグネチャ

_rand(nbytes: int = 24) -> str

使い方と仕様

実装コード由来のAPIです。

引数

  • nbytes / kind=positional-or-keyword / type=int / 任意 / default=24

戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例

from nexom.app.auth import _rand

result = _rand(nbytes=24)
print(result)

_make_salt

分類: internal function

シグネチャ

_make_salt(nbytes: int = 16) -> str

使い方と仕様

実装コード由来のAPIです。

引数

  • nbytes / kind=positional-or-keyword / type=int / 任意 / default=16

戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例

from nexom.app.auth import _make_salt

result = _make_salt(nbytes=16)
print(result)

_hash_password

分類: internal function

シグネチャ

_hash_password(password: str, salt_hex: str) -> str

使い方と仕様

実装コード由来のAPIです。

引数

  • password / kind=positional-or-keyword / type=str / 必須 / default=なし
  • salt_hex / kind=positional-or-keyword / type=str / 必須 / default=なし

戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例

from nexom.app.auth import _hash_password

result = _hash_password(password="sample", salt_hex="sample")
print(result)

_token_hash

分類: internal function

シグネチャ

_token_hash(token: str) -> str

使い方と仕様

実装コード由来のAPIです。

引数

  • token / kind=positional-or-keyword / type=str / 必須 / default=なし

戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例

from nexom.app.auth import _token_hash

result = _token_hash(token="sample")
print(result)

クラス

LocalSession

分類: public class

クラスドキュメントは未定義です。

このクラスにメソッド定義はありません。

Session

分類: public class

クラスドキュメントは未定義です。

このクラスにメソッド定義はありません。

Permissions

分類: public class

Group-scoped permissions helper for AuthClient. Usage: perms = client.permissions("group-a", token=token) level = perms.auth(pid) perms.upsert(pid, 10)

Permissions の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, client: 'AuthClient', group_id: str, token: str)
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • client / kind=positional-or-keyword / type='AuthClient' / 必須 / default=なし
  • group_id / kind=positional-or-keyword / type=str / 必須 / default=なし
  • token / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

型指定なし

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import Permissions

obj = Permissions(client=..., group_id="sample", token="sample")
auth

分類: public method

シグネチャ
auth(self, pid: str) -> int
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • pid / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

int

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import Permissions

obj = Permissions(...)
result = obj.auth(pid="sample")
print(result)
upsert

分類: public method

シグネチャ
upsert(self, user_id: str, level: int) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • user_id / kind=positional-or-keyword / type=str / 必須 / default=なし
  • level / kind=positional-or-keyword / type=int / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import Permissions

obj = Permissions(...)
result = obj.upsert(user_id="sample", level=1)
print(result)
delete

分類: public method

シグネチャ
delete(self, user_id: str) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • user_id / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import Permissions

obj = Permissions(...)
result = obj.delete(user_id="sample")
print(result)
delete_group

分類: public method

シグネチャ
delete_group(self) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • 引数なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import Permissions

obj = Permissions(...)
result = obj.delete_group()
print(result)
groups_mine

分類: public method

シグネチャ
groups_mine(self) -> list[dict]
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • 引数なし
戻り値

list[dict]

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import Permissions

obj = Permissions(...)
result = obj.groups_mine()
print(result)

AuthService

分類: public class

Auth API service (JSON only). Exposes signup/login/logout/verify via a Router. Intended to run as a standalone auth server.

AuthService の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, db_path: str, log_path: str, *, ttl_sec: int = 60 * 60 * 24 * 7, master_user: str = 'master_user', master_login_password: str = '', master_password: str = 'NexomWebFramework', prefix: str = '') -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • db_path / kind=positional-or-keyword / type=str / 必須 / default=なし
  • log_path / kind=positional-or-keyword / type=str / 必須 / default=なし
  • ttl_sec / kind=keyword-only / type=int / 任意 / default=60 * 60 * 24 * 7
  • master_user / kind=keyword-only / type=str / 任意 / default='master_user'
  • master_login_password / kind=keyword-only / type=str / 任意 / default=''
  • master_password / kind=keyword-only / type=str / 任意 / default='NexomWebFramework'
  • prefix / kind=keyword-only / type=str / 任意 / default=''
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(db_path="sample", log_path="sample", ttl_sec=60 * 60 * 24 * 7, master_user='master_user', master_login_password='', master_password='NexomWebFramework', prefix='')
handler

分類: public method

シグネチャ
handler(self, environ: dict) -> JsonResponse
使い方と仕様

WSGI entrypoint for the auth API. Returns JsonResponse with proper status codes for NexomError.

引数
  • environ / kind=positional-or-keyword / type=dict / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.handler(environ={})
print(result)
signup

分類: public method

シグネチャ
signup(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Create a new user. Expected JSON: {user_id, public_name, password}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.signup(request=..., args="sample")
print(result)
login

分類: public method

シグネチャ
login(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Authenticate and return a session token. Expected JSON: {user_id, password}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.login(request=..., args="sample")
print(result)
logout

分類: public method

シグネチャ
logout(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Revoke a session token. Expected JSON: {token}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.logout(request=..., args="sample")
print(result)
verify

分類: public method

シグネチャ
verify(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Verify a session token. Expected JSON: {token} Returns {active: bool, ...} when active.

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.verify(request=..., args="sample")
print(result)
update_public_name

分類: public method

シグネチャ
update_public_name(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Update public_name for the authenticated user. Expected JSON: {token, public_name}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.update_public_name(request=..., args="sample")
print(result)
convert_pid

分類: public method

シグネチャ
convert_pid(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Convert user_id to pid. Expected JSON: {token, user_id}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.convert_pid(request=..., args="sample")
print(result)
resolve_pid

分類: public method

シグネチャ
resolve_pid(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Resolve user_id to pid without token. Expected JSON: {user_id}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.resolve_pid(request=..., args="sample")
print(result)
convert_user_id

分類: public method

シグネチャ
convert_user_id(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Convert pid to user_id. Expected JSON: {token, pid}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.convert_user_id(request=..., args="sample")
print(result)
update_password

分類: public method

シグネチャ
update_password(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Update password for the authenticated user. Expected JSON: {token, current_password, new_password}

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.update_password(request=..., args="sample")
print(result)
permissions_group_create

分類: public method

シグネチャ
permissions_group_create(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Create a permission group owned by the authenticated user.

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.permissions_group_create(request=..., args="sample")
print(result)
permissions_group_delete

分類: public method

シグネチャ
permissions_group_delete(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Delete group if requester has level 100 in that group.

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.permissions_group_delete(request=..., args="sample")
print(result)
permissions_group_member_upsert

分類: public method

シグネチャ
permissions_group_member_upsert(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Upsert a member level in the group (owner only).

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.permissions_group_member_upsert(request=..., args="sample")
print(result)
permissions_group_member_delete

分類: public method

シグネチャ
permissions_group_member_delete(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Delete a member from the group (owner only).

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.permissions_group_member_delete(request=..., args="sample")
print(result)
permissions_group_auth

分類: public method

シグネチャ
permissions_group_auth(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

Resolve permission level for group_id and pid.

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.permissions_group_auth(request=..., args="sample")
print(result)
permissions_groups_mine

分類: public method

シグネチャ
permissions_groups_mine(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.permissions_groups_mine(request=..., args="sample")
print(result)
master_users_list

分類: public method

シグネチャ
master_users_list(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.master_users_list(request=..., args="sample")
print(result)
master_users_deactivate

分類: public method

シグネチャ
master_users_deactivate(self, request: Request, args: dict[str, Optional[str]]) -> JsonResponse
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • request / kind=positional-or-keyword / type=Request / 必須 / default=なし
  • args / kind=positional-or-keyword / type=dict[str, Optional[str]] / 必須 / default=なし
戻り値

JsonResponse

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthService

obj = AuthService(...)
result = obj.master_users_deactivate(request=..., args="sample")
print(result)

AuthClient

分類: public class

HTTP client for AuthService. Provides signup/login/logout/verify helpers.

AuthClient の全メソッド

__init__

分類: special method

シグネチャ
__init__(self, auth_url: str, *, timeout: float = 3.0) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • auth_url / kind=positional-or-keyword / type=str / 必須 / default=なし
  • timeout / kind=keyword-only / type=float / 任意 / default=3.0
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(auth_url="sample", timeout=3.0)
_post

分類: internal method

シグネチャ
_post(self, url: str, body: dict) -> dict
使い方と仕様

POST JSON and return parsed JSON dict.

引数
  • url / kind=positional-or-keyword / type=str / 必須 / default=なし
  • body / kind=positional-or-keyword / type=dict / 必須 / default=なし
戻り値

dict

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj._post(url="sample", body={})
print(result)
signup

分類: public method

シグネチャ
signup(self, *, user_id: str, public_name: str, password: str) -> None
使い方と仕様

Create a user account on the auth server.

引数
  • user_id / kind=keyword-only / type=str / 必須 / default=なし
  • public_name / kind=keyword-only / type=str / 必須 / default=なし
  • password / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.signup(user_id="sample", public_name="sample", password="sample")
print(result)
login

分類: public method

シグネチャ
login(self, *, user_id: str, password: str) -> Session
使い方と仕様

Login and return a Session.

引数
  • user_id / kind=keyword-only / type=str / 必須 / default=なし
  • password / kind=keyword-only / type=str / 必須 / default=なし
戻り値

Session

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.login(user_id="sample", password="sample")
print(result)
verify_token

分類: public method

シグネチャ
verify_token(self, token: str) -> Session | None
使い方と仕様

Verify a token and return Session or None.

引数
  • token / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

Session | None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.verify_token(token="sample")
print(result)
logout

分類: public method

シグネチャ
logout(self, *, token: str) -> None
使い方と仕様

Logout (revoke) a session token.

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.logout(token="sample")
print(result)
update_public_name

分類: public method

シグネチャ
update_public_name(self, *, token: str, public_name: str) -> str
使い方と仕様

Update public_name and return the updated value.

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
  • public_name / kind=keyword-only / type=str / 必須 / default=なし
戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.update_public_name(token="sample", public_name="sample")
print(result)
update_password

分類: public method

シグネチャ
update_password(self, *, token: str, current_password: str, new_password: str) -> None
使い方と仕様

Update password for an authenticated user.

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
  • current_password / kind=keyword-only / type=str / 必須 / default=なし
  • new_password / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.update_password(token="sample", current_password="sample", new_password="sample")
print(result)
convert_pid

分類: public method

シグネチャ
convert_pid(self, *, token: str, user_id: str) -> str
使い方と仕様

Convert user_id to pid.

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
  • user_id / kind=keyword-only / type=str / 必須 / default=なし
戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.convert_pid(token="sample", user_id="sample")
print(result)
resolve_pid

分類: public method

シグネチャ
resolve_pid(self, *, user_id: str) -> str
使い方と仕様

Resolve user_id to pid without token.

引数
  • user_id / kind=keyword-only / type=str / 必須 / default=なし
戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.resolve_pid(user_id="sample")
print(result)
convert_user_id

分類: public method

シグネチャ
convert_user_id(self, *, token: str, pid: str) -> str
使い方と仕様

Convert pid to user_id.

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
  • pid / kind=keyword-only / type=str / 必須 / default=なし
戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.convert_user_id(token="sample", pid="sample")
print(result)
create_permission_group

分類: public method

シグネチャ
create_permission_group(self, *, token: str, group_id: str, name: str) -> str
使い方と仕様

Create a permission group and return group_id.

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • name / kind=keyword-only / type=str / 必須 / default=なし
戻り値

str

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.create_permission_group(token="sample", group_id="sample", name="sample")
print(result)
delete_permission_group

分類: public method

シグネチャ
delete_permission_group(self, *, token: str, group_id: str) -> None
使い方と仕様

Delete a permission group (requires level 100).

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.delete_permission_group(token="sample", group_id="sample")
print(result)
permissions

分類: public method

シグネチャ
permissions(self, group_id: str, *, token: str) -> Permissions
使い方と仕様

Return a group-scoped permissions helper.

引数
  • group_id / kind=positional-or-keyword / type=str / 必須 / default=なし
  • token / kind=keyword-only / type=str / 必須 / default=なし
戻り値

Permissions

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.permissions(group_id="sample", token="sample")
print(result)
master_users_list

分類: public method

シグネチャ
master_users_list(self, *, token: str) -> list[dict]
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
戻り値

list[dict]

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.master_users_list(token="sample")
print(result)
master_users_deactivate

分類: public method

シグネチャ
master_users_deactivate(self, *, token: str, target_user_id: str, master_password: str) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • token / kind=keyword-only / type=str / 必須 / default=なし
  • target_user_id / kind=keyword-only / type=str / 必須 / default=なし
  • master_password / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj.master_users_deactivate(token="sample", target_user_id="sample", master_password="sample")
print(result)
_raise_from_error_code

分類: internal method

シグネチャ
_raise_from_error_code(self, code: str) -> None
使い方と仕様

メソッドドキュメントは未定義です。

引数
  • code / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthClient

obj = AuthClient(...)
result = obj._raise_from_error_code(code="sample")
print(result)

AuthDBM

分類: public class

Auth database manager. Manages users and sessions in a SQLite DB.

AuthDBM の全メソッド

_init

分類: internal method

シグネチャ
_init(self) -> None
使い方と仕様

Create auth tables if they do not exist.

引数
  • 引数なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj._init()
print(result)
signup

分類: public method

シグネチャ
signup(self, user_id: str, public_name: str, password: str) -> None
使い方と仕様

Create a new user record.

引数
  • user_id / kind=positional-or-keyword / type=str / 必須 / default=なし
  • public_name / kind=positional-or-keyword / type=str / 必須 / default=なし
  • password / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.signup(user_id="sample", public_name="sample", password="sample")
print(result)
login

分類: public method

シグネチャ
login(self, user_id: str, password: str, *, user_agent: str | None, ttl_sec: int) -> LocalSession
使い方と仕様

Validate credentials and create a new session.

引数
  • user_id / kind=positional-or-keyword / type=str / 必須 / default=なし
  • password / kind=positional-or-keyword / type=str / 必須 / default=なし
  • user_agent / kind=keyword-only / type=str | None / 必須 / default=なし
  • ttl_sec / kind=keyword-only / type=int / 必須 / default=なし
戻り値

LocalSession

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.login(user_id="sample", password="sample", user_agent="sample", ttl_sec=1)
print(result)
logout

分類: public method

シグネチャ
logout(self, token: str) -> None
使い方と仕様

Revoke a session token.

引数
  • token / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.logout(token="sample")
print(result)
verify

分類: public method

シグネチャ
verify(self, token: str | None) -> LocalSession | None
使い方と仕様

Return LocalSession if token is valid and active, else None.

引数
  • token / kind=positional-or-keyword / type=str | None / 必須 / default=なし
戻り値

LocalSession | None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.verify(token="sample")
print(result)
ensure_master_user

分類: public method

シグネチャ
ensure_master_user(self, *, user_id: str, login_password: str) -> None
使い方と仕様

Create master user if missing.

引数
  • user_id / kind=keyword-only / type=str / 必須 / default=なし
  • login_password / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.ensure_master_user(user_id="sample", login_password="sample")
print(result)
update_public_name

分類: public method

シグネチャ
update_public_name(self, *, uid: str, public_name: str) -> None
使い方と仕様

Update the user's public_name.

引数
  • uid / kind=keyword-only / type=str / 必須 / default=なし
  • public_name / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.update_public_name(uid="sample", public_name="sample")
print(result)
update_password

分類: public method

シグネチャ
update_password(self, *, uid: str, current_password: str, new_password: str) -> None
使い方と仕様

Change password after validating the current password.

引数
  • uid / kind=keyword-only / type=str / 必須 / default=なし
  • current_password / kind=keyword-only / type=str / 必須 / default=なし
  • new_password / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.update_password(uid="sample", current_password="sample", new_password="sample")
print(result)
get_uid_by_pid

分類: public method

シグネチャ
get_uid_by_pid(self, pid: str) -> str | None
使い方と仕様

Resolve uid from pid (pid is treated as uid in current auth model).

引数
  • pid / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

str | None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.get_uid_by_pid(pid="sample")
print(result)
get_user_id_by_pid

分類: public method

シグネチャ
get_user_id_by_pid(self, pid: str) -> str | None
使い方と仕様

Resolve user_id from pid.

引数
  • pid / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

str | None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.get_user_id_by_pid(pid="sample")
print(result)
create_permission_group

分類: public method

シグネチャ
create_permission_group(self, *, owner_uid: str, group_id: str, name: str) -> None
使い方と仕様

Create a permission group.

引数
  • owner_uid / kind=keyword-only / type=str / 必須 / default=なし
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • name / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.create_permission_group(owner_uid="sample", group_id="sample", name="sample")
print(result)
assert_permission_group_owner

分類: public method

シグネチャ
assert_permission_group_owner(self, *, group_id: str, owner_uid: str) -> None
使い方と仕様

Ensure owner_uid owns group_id.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • owner_uid / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.assert_permission_group_owner(group_id="sample", owner_uid="sample")
print(result)
upsert_permission_member_by_pid

分類: public method

シグネチャ
upsert_permission_member_by_pid(self, *, group_id: str, pid: str, level: int) -> None
使い方と仕様

Upsert member level by pid.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • pid / kind=keyword-only / type=str / 必須 / default=なし
  • level / kind=keyword-only / type=int / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.upsert_permission_member_by_pid(group_id="sample", pid="sample", level=1)
print(result)
get_uid_by_user_id

分類: public method

シグネチャ
get_uid_by_user_id(self, user_id: str) -> str | None
使い方と仕様

Resolve uid from user_id.

引数
  • user_id / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

str | None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.get_uid_by_user_id(user_id="sample")
print(result)
upsert_permission_member_by_user_id

分類: public method

シグネチャ
upsert_permission_member_by_user_id(self, *, group_id: str, user_id: str, level: int) -> None
使い方と仕様

Upsert member level by user_id.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • user_id / kind=keyword-only / type=str / 必須 / default=なし
  • level / kind=keyword-only / type=int / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.upsert_permission_member_by_user_id(group_id="sample", user_id="sample", level=1)
print(result)
upsert_permission_member_by_uid

分類: public method

シグネチャ
upsert_permission_member_by_uid(self, *, group_id: str, uid: str, level: int) -> None
使い方と仕様

Upsert member level by uid.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • uid / kind=keyword-only / type=str / 必須 / default=なし
  • level / kind=keyword-only / type=int / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.upsert_permission_member_by_uid(group_id="sample", uid="sample", level=1)
print(result)
delete_permission_member_by_pid

分類: public method

シグネチャ
delete_permission_member_by_pid(self, *, group_id: str, pid: str) -> None
使い方と仕様

Delete a member by pid from a group.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • pid / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.delete_permission_member_by_pid(group_id="sample", pid="sample")
print(result)
delete_permission_member_by_user_id

分類: public method

シグネチャ
delete_permission_member_by_user_id(self, *, group_id: str, user_id: str) -> None
使い方と仕様

Delete member by user_id from a group.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • user_id / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.delete_permission_member_by_user_id(group_id="sample", user_id="sample")
print(result)
auth_permission_level_by_pid

分類: public method

シグネチャ
auth_permission_level_by_pid(self, *, group_id: str, pid: str) -> int
使い方と仕様

Return permission level for group_id and pid, default 0.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • pid / kind=keyword-only / type=str / 必須 / default=なし
戻り値

int

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.auth_permission_level_by_pid(group_id="sample", pid="sample")
print(result)
auth_permission_level_by_uid

分類: public method

シグネチャ
auth_permission_level_by_uid(self, *, group_id: str, uid: str) -> int
使い方と仕様

Return permission level for group_id and uid, default 0.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • uid / kind=keyword-only / type=str / 必須 / default=なし
戻り値

int

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.auth_permission_level_by_uid(group_id="sample", uid="sample")
print(result)
delete_permission_group_by_uid

分類: public method

シグネチャ
delete_permission_group_by_uid(self, *, group_id: str, uid: str) -> None
使い方と仕様

Delete group when uid has level 100.

引数
  • group_id / kind=keyword-only / type=str / 必須 / default=なし
  • uid / kind=keyword-only / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.delete_permission_group_by_uid(group_id="sample", uid="sample")
print(result)
permission_groups_by_uid

分類: public method

シグネチャ
permission_groups_by_uid(self, uid: str) -> list[dict]
使い方と仕様

List groups and levels for uid.

引数
  • uid / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

list[dict]

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.permission_groups_by_uid(uid="sample")
print(result)
list_users

分類: public method

シグネチャ
list_users(self) -> list[dict]
使い方と仕様

List all users.

引数
  • 引数なし
戻り値

list[dict]

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.list_users()
print(result)
deactivate_user

分類: public method

シグネチャ
deactivate_user(self, user_id: str) -> None
使い方と仕様

Logical delete user and revoke sessions.

引数
  • user_id / kind=positional-or-keyword / type=str / 必須 / default=なし
戻り値

None

例外・注意点

実装コード内の例外仕様を確認してください。

利用例
from nexom.app.auth import AuthDBM

obj = AuthDBM(...)
result = obj.deactivate_user(user_id="sample")
print(result)

ソース情報

  • module: nexom.app.auth
  • source file: services/venv/lib/python3.10/site-packages/nexom/app/auth.py
  • generated date: 2026-03-14