|
Dreamine.Identity 1.0.0.0
Dreamine.Identity 프로젝트의 API와 구성 요소를 제공합니다.
|


클래스 | |
| class | TableColumn |
Public 멤버 함수 | |
| SqliteUserStore (IDatabaseProvider database) | |
| async Task< AuthUser > | UpsertAsync (string provider, string providerKey, string email, string displayName, string avatarUrl, CancellationToken cancellationToken=default) |
| async Task< AuthUser?> | GetByIdAsync (long id, CancellationToken cancellationToken=default) |
| async Task< AuthUser?> | UpdateDisplayNameAsync (long id, string displayName, CancellationToken cancellationToken=default) |
| async Task< AuthUser?> | AcceptRequiredConsentsAsync (long id, DateTime acceptedAtUtc, CancellationToken cancellationToken=default) |
| async Task< AuthUser?> | ChangeLocalPasswordAsync (long id, string currentPassword, string newPassword, CancellationToken cancellationToken=default) |
| async Task< AuthUser > | CreateLocalAsync (string email, string displayName, string password, CancellationToken cancellationToken=default) |
| async Task< AuthUser?> | ValidateLocalAsync (string email, string password, CancellationToken cancellationToken=default) |
Private 멤버 함수 | |
| async Task< AuthUser?> | FindLocalByEmailAsync (string email, CancellationToken cancellationToken) |
| void | EnsureSchema () |
| void | AddNullableDateColumnIfMissing (HashSet< string > columns, string columnName) |
정적 Private 멤버 함수 | |
| static string | NormalizeEmail (string email) |
Private 속성 | |
| readonly IDatabaseProvider | _database |
정적 Private 속성 | |
| const string | SelectSql |
| const string | LocalProvider = "Local" |
Dreamine 데이터베이스 추상화를 사용하는 SQLite 기반 IUserStore 구현입니다.
SqliteUserStore.cs 파일의 14 번째 라인에서 정의되었습니다.
|
inline |
데이터베이스 공급자로 저장소를 초기화하고 사용자 테이블과 필수 열을 보장합니다.
| database | 사용자 데이터를 저장할 데이터베이스 공급자입니다. |
| ArgumentNullException | database 가 null인 경우 발생합니다. |
SqliteUserStore.cs 파일의 73 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, EnsureSchema().

|
inline |
사용자의 세 필수 동의 시각을 동일한 UTC 값으로 기록합니다.
| id | 내부 사용자 식별자입니다. |
| acceptedAtUtc | 동의를 수락한 UTC 시각입니다. |
| cancellationToken | 갱신 취소 토큰입니다. |
null입니다.Dreamine.Identity.IUserStore를 구현.
SqliteUserStore.cs 파일의 369 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, GetByIdAsync().

|
inlineprivate |
열 집합에 없으면 nullable 날짜 텍스트 열을 Users 테이블에 추가합니다.
| columns | 현재 열 이름 집합입니다. |
| columnName | 확인하고 추가할 열 이름입니다. |
SqliteUserStore.cs 파일의 780 번째 라인에서 정의되었습니다.
다음을 참조함 : _database.
다음에 의해서 참조됨 : EnsureSchema().

|
inline |
로컬 사용자의 현재 비밀번호를 검증하고 강도가 확인된 새 해시를 저장합니다.
| id | 내부 사용자 식별자입니다. |
| currentPassword | 현재 평문 비밀번호입니다. |
| newPassword | 새 평문 비밀번호입니다. |
| cancellationToken | 변경 취소 토큰입니다. |
null입니다.| ArgumentNullException | newPassword 가 null인 경우 발생합니다. |
| ArgumentException | newPassword 가 비어 있거나 공백인 경우 발생합니다. |
| InvalidOperationException | 소셜 계정이거나 현재 비밀번호가 틀렸거나 새 비밀번호가 8자 미만인 경우 발생합니다. |
Dreamine.Identity.IUserStore를 구현.
SqliteUserStore.cs 파일의 459 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, GetByIdAsync(), Dreamine.Identity.DreaminePasswordHasher.HashPassword(), LocalProvider, Dreamine.Identity.DreaminePasswordHasher.VerifyPassword().

|
inline |
이메일을 정규화하고 중복 및 비밀번호 길이를 검증한 뒤 로컬 계정을 만듭니다.
| 로컬 계정 이메일입니다. | |
| displayName | 선택적 표시 이름이며 비어 있으면 이메일을 사용합니다. |
| password | 해시할 평문 비밀번호입니다. |
| cancellationToken | 생성 취소 토큰입니다. |
| ArgumentNullException | email 또는 password 가 null인 경우 발생합니다. |
| ArgumentException | email 또는 password 가 비어 있거나 공백인 경우 발생합니다. |
| InvalidOperationException | 비밀번호가 8자 미만이거나 이메일이 이미 등록된 경우 발생합니다. |
Dreamine.Identity.IUserStore를 구현.
SqliteUserStore.cs 파일의 564 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, FindLocalByEmailAsync(), Dreamine.Identity.DreaminePasswordHasher.HashPassword(), LocalProvider, NormalizeEmail().

|
inlineprivate |
기존 Users 테이블에 비밀번호 및 필수 동의 열이 존재하도록 마이그레이션합니다.
SqliteUserStore.cs 파일의 740 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, AddNullableDateColumnIfMissing(), Dreamine.Identity.Models.AuthUser.AgeConfirmedAtUtc, Dreamine.Identity.Models.AuthUser.PasswordHash, Dreamine.Identity.Models.AuthUser.PrivacyPolicyAcceptedAtUtc, Dreamine.Identity.Models.AuthUser.TermsAcceptedAtUtc.
다음에 의해서 참조됨 : SqliteUserStore().


|
inlineprivate |
정규화된 이메일을 로컬 공급자 키로 사용해 사용자를 조회합니다.
| 정규화된 이메일입니다. | |
| cancellationToken | 조회 취소 토큰입니다. |
null입니다.SqliteUserStore.cs 파일의 718 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, LocalProvider.
다음에 의해서 참조됨 : CreateLocalAsync(), ValidateLocalAsync().

|
inline |
내부 식별자로 사용자를 비동기 조회합니다.
| id | 내부 사용자 식별자입니다. |
| cancellationToken | 조회 취소 토큰입니다. |
null입니다.Dreamine.Identity.IUserStore를 구현.
SqliteUserStore.cs 파일의 239 번째 라인에서 정의되었습니다.
다음을 참조함 : _database.
다음에 의해서 참조됨 : AcceptRequiredConsentsAsync(), ChangeLocalPasswordAsync(), UpdateDisplayNameAsync().

|
inlinestaticprivate |
이메일 양끝 공백을 제거하고 소문자 불변 문화권 형식으로 정규화합니다.
| 정규화할 이메일입니다. |
| ArgumentNullException | email 이 null인 경우 발생합니다. |
| ArgumentException | email 이 비어 있거나 공백인 경우 발생합니다. |
SqliteUserStore.cs 파일의 828 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : CreateLocalAsync(), ValidateLocalAsync().

|
inline |
사용자의 공백 제거된 표시 이름을 갱신합니다.
| id | 내부 사용자 식별자입니다. |
| displayName | 저장할 표시 이름입니다. |
| cancellationToken | 갱신 취소 토큰입니다. |
null입니다.| NullReferenceException | displayName 이 null인 경우 발생합니다. |
| InvalidOperationException | 공백을 제거한 표시 이름이 비어 있는 경우 발생합니다. |
Dreamine.Identity.IUserStore를 구현.
SqliteUserStore.cs 파일의 307 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, GetByIdAsync().

|
inline |
외부 공급자 키로 사용자를 추가하거나 프로필과 마지막 로그인 시각을 갱신합니다.
| provider | 로그인 공급자 이름입니다. |
| providerKey | 공급자 사용자 키입니다. |
| 사용자 이메일입니다. | |
| displayName | 사용자 표시 이름입니다. |
| avatarUrl | 프로필 이미지 URL입니다. |
| cancellationToken | 저장 취소 토큰입니다. |
| ArgumentNullException | provider 또는 providerKey 가 null인 경우 발생합니다. |
| ArgumentException | provider 또는 providerKey 가 비어 있거나 공백인 경우 발생합니다. |
Dreamine.Identity.IUserStore를 구현.
SqliteUserStore.cs 파일의 160 번째 라인에서 정의되었습니다.
|
inline |
로컬 이메일과 비밀번호를 검증하고 마지막 로그인 및 필요한 해시 업그레이드를 저장합니다.
| 정규화할 이메일입니다. | |
| password | 검증할 평문 비밀번호입니다. |
| cancellationToken | 검증 취소 토큰입니다. |
null입니다.| ArgumentNullException | email 이 null인 경우 발생합니다. |
| ArgumentException | email 이 비어 있거나 공백인 경우 발생합니다. |
Dreamine.Identity.IUserStore를 구현.
SqliteUserStore.cs 파일의 658 번째 라인에서 정의되었습니다.
다음을 참조함 : _database, FindLocalByEmailAsync(), NormalizeEmail(), Dreamine.Identity.DreaminePasswordHasher.VerifyPassword().

|
private |
database 값을 보관합니다.
SqliteUserStore.cs 파일의 47 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : AcceptRequiredConsentsAsync(), AddNullableDateColumnIfMissing(), ChangeLocalPasswordAsync(), CreateLocalAsync(), EnsureSchema(), FindLocalByEmailAsync(), GetByIdAsync(), SqliteUserStore(), UpdateDisplayNameAsync(), UpsertAsync(), ValidateLocalAsync().
|
staticprivate |
Local Provider 값을 보관합니다.
SqliteUserStore.cs 파일의 37 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ChangeLocalPasswordAsync(), CreateLocalAsync(), FindLocalByEmailAsync().
|
staticprivate |
Select Sql 값을 보관합니다.
SqliteUserStore.cs 파일의 24 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : UpsertAsync().