WeddingPlatform.Web
1.0.0.0
지도, 갤러리, 방명록, 계좌 안내와 배경음악을 링크 하나에 담는 무료 모바일 청첩장 서비스입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
WeddingUserContext.cs
이 파일의 문서화 페이지로 가기
1
using
System.Security.Claims;
2
using
Dreamine.Identity;
3
using
Microsoft.AspNetCore.Components.Authorization;
4
5
namespace
WeddingPlatform.Services
;
6
15
public
sealed
record
WeddingCurrentUser
(
16
string
Id,
17
string
Provider,
18
string
Email,
19
string
DisplayName)
20
{
29
public
bool
IsAuthenticated => !
string
.IsNullOrWhiteSpace(Id);
30
39
public
static
WeddingCurrentUser
Anonymous {
get
; } =
new
(
""
,
""
,
""
,
""
);
40
}
41
50
public
sealed
class
WeddingUserContext
51
{
60
private
readonly AuthenticationStateProvider
_authenticationStateProvider
;
61
78
public
WeddingUserContext
(AuthenticationStateProvider authenticationStateProvider)
79
{
80
_authenticationStateProvider
= authenticationStateProvider;
81
}
82
99
public
async Task<WeddingCurrentUser>
GetCurrentAsync
()
100
{
101
var state = await
_authenticationStateProvider
.GetAuthenticationStateAsync().ConfigureAwait(
false
);
102
var principal = state.User;
103
104
if
(principal.Identity?.IsAuthenticated !=
true
)
105
{
106
return
WeddingCurrentUser
.Anonymous;
107
}
108
109
string
userId = principal.FindFirstValue(DreamineIdentityExtensions.UserIdClaimType) ??
string
.Empty;
110
if
(
string
.IsNullOrWhiteSpace(userId))
111
{
112
return
WeddingCurrentUser
.Anonymous;
113
}
114
115
string
provider = principal.FindFirstValue(DreamineIdentityExtensions.ProviderClaimType) ??
"Local"
;
116
string
email = principal.FindFirstValue(ClaimTypes.Email) ??
string
.Empty;
117
string
displayName = principal.FindFirstValue(ClaimTypes.Name) ?? email;
118
119
return
new
WeddingCurrentUser
(
120
$
"oauth-{userId}"
,
121
provider,
122
email,
123
displayName);
124
}
125
}
WeddingPlatform.Services
Definition
CsvGuestbookStorage.cs:6
WeddingPlatform.Services.WeddingCurrentUser
record WeddingCurrentUser(string Id, string Provider, string Email, string DisplayName)
Definition
WeddingUserContext.cs:15
WeddingPlatform.Services.WeddingUserContext._authenticationStateProvider
readonly AuthenticationStateProvider _authenticationStateProvider
Definition
WeddingUserContext.cs:60
WeddingPlatform.Services.WeddingUserContext.WeddingUserContext
WeddingUserContext(AuthenticationStateProvider authenticationStateProvider)
Definition
WeddingUserContext.cs:78
WeddingPlatform.Services.WeddingUserContext.GetCurrentAsync
async Task< WeddingCurrentUser > GetCurrentAsync()
Definition
WeddingUserContext.cs:99
Services
WeddingUserContext.cs
다음에 의해 생성됨 :
1.17.0