認証・認可方針⚓︎
認証とは⚓︎
認証とは、ユーザー名とパスワードのペアや生体情報、認証トークンなどを利用して、システムやネットワークにアクセスしようとしている主体の身元を確認するプロセスのこと指します。 認証が成功すると、システムは主体の真正性を認識し、次のステップに進むことができます。
認可とは⚓︎
認可とは、システムやネットワークにアクセスしようとしているユーザーが、特定のリソースや機能にアクセスする権利を有しているかどうかを確認し、適切な権限を付与するプロセスのことです。 基本的に認可は認証が成功した後に行われ、システムはセキュリティを維持しつつ、ユーザーに必要なアクセス権を提供します。
想定する実装方法⚓︎
AlesInfiny Maia OSS Edition (以降、 AlesInfiny Maia)では、以下の 2 つの実装方法を想定しています。
- OAuth2.0
- ユーザー情報 + パスワード
OAuth2.0⚓︎
認証の方針⚓︎
AlesInfiny Maia OSS Edition では、認証機能の実装を OpenID Connect の標準に則って行います。 OpenID Connect は、 OAuth 2.0 に基づいた認証プロトコルであり、ユーザーの認証情報を安全にやり取りするための標準を提供します。
認証機能の実装には、 Azure AD B2C などのサードパーティ製の認証プロバイダーや、 Spring プロジェクトの1つである Spring Security などが候補になります。
認可の方針⚓︎
AlesInfiny Maia OSS Edition では、認可機能の実装を OAuth 2.0 の標準に則って行います。 OAuth 2.0 は、ユーザーが自分の認証情報(ユーザー名やパスワード)を第三者と共有することなく、第三者のアプリケーションやサービスに対して自分のリソースへのアクセスを制御するための認可フレームワークです。
認可機能の実装には、 Spring プロジェクトの1つである Spring Security などが候補になります。
ユーザー情報 + パスワード⚓︎
認証の方針⚓︎
ユーザー情報 + パスワードによる認証機能を実現するには、 Spring Security を使用します。 ユーザー情報は、データベースに保存されているものを使用します。 パスワードはハッシュ化して保存し、ハッシュ化には Bcrypt を使用します。
認可の方針⚓︎
(今後追加予定)