WeddingThankYou
1.0.0.0
결혼식 이후 감사 인사와 사진, 계좌 안내, 연락처를 모바일 페이지로 전달하는 감사장 서비스입니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
ThankYouUserContext.cs
이 파일의 문서화 페이지로 가기
1
using
System.Security.Claims;
2
using
Dreamine.Identity;
3
using
Microsoft.AspNetCore.Components.Authorization;
4
5
namespace
WeddingThankYou.Services
;
6
15
public
sealed
record
ThankYouCurrentUser
(
16
string
Id,
17
string
Provider,
18
string
Email,
19
string
DisplayName)
20
{
29
public
bool
IsAuthenticated => !
string
.IsNullOrWhiteSpace(Id);
30
39
public
static
ThankYouCurrentUser
Anonymous {
get
; } =
new
(
""
,
""
,
""
,
""
);
40
}
41
50
public
sealed
class
ThankYouUserContext
51
{
60
private
readonly AuthenticationStateProvider
_authenticationStateProvider
;
61
78
public
ThankYouUserContext
(AuthenticationStateProvider authenticationStateProvider)
79
{
80
_authenticationStateProvider
= authenticationStateProvider;
81
}
82
99
public
async Task<ThankYouCurrentUser>
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
ThankYouCurrentUser
.Anonymous;
107
}
108
109
string
userId = principal.FindFirstValue(DreamineIdentityExtensions.UserIdClaimType) ??
string
.Empty;
110
if
(
string
.IsNullOrWhiteSpace(userId))
111
{
112
return
ThankYouCurrentUser
.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
ThankYouCurrentUser
(
120
$
"oauth-{userId}"
,
121
provider,
122
email,
123
displayName);
124
}
125
}
WeddingThankYou.Services
Definition
CsvGuestbookStorage.cs:12
WeddingThankYou.Services.ThankYouCurrentUser
record ThankYouCurrentUser(string Id, string Provider, string Email, string DisplayName)
Definition
ThankYouUserContext.cs:15
WeddingThankYou.Services.ThankYouUserContext.ThankYouUserContext
ThankYouUserContext(AuthenticationStateProvider authenticationStateProvider)
Definition
ThankYouUserContext.cs:78
WeddingThankYou.Services.ThankYouUserContext.GetCurrentAsync
async Task< ThankYouCurrentUser > GetCurrentAsync()
Definition
ThankYouUserContext.cs:99
WeddingThankYou.Services.ThankYouUserContext._authenticationStateProvider
readonly AuthenticationStateProvider _authenticationStateProvider
Definition
ThankYouUserContext.cs:60
Services
ThankYouUserContext.cs
다음에 의해 생성됨 :
1.17.0