Add project files.
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
namespace MyOffice.Core.Identity;
|
||||
|
||||
using System;
|
||||
using System.Diagnostics.Contracts;
|
||||
|
||||
public interface IExternalProviderValidator
|
||||
{
|
||||
string Provider { get; }
|
||||
public bool IsConfigured { get; }
|
||||
|
||||
Task<ExternalProviderValidatorResult> ValidateAsync(string token);
|
||||
}
|
||||
|
||||
public class ExternalProviderValidatorResult
|
||||
{
|
||||
public static ExternalProviderValidatorResult Failed()
|
||||
{
|
||||
return new ExternalProviderValidatorResult();
|
||||
}
|
||||
|
||||
public static ExternalProviderValidatorResult Success(string email, bool emailVerified, string externalId,
|
||||
string? fullName)
|
||||
{
|
||||
return new ExternalProviderValidatorResult(email, emailVerified, externalId, fullName);
|
||||
}
|
||||
|
||||
public ExternalProviderValidatorResult()
|
||||
{
|
||||
IsSuccessed = false;
|
||||
}
|
||||
|
||||
public ExternalProviderValidatorResult(string email, bool emailVerified, string externalId, string? fullName) :
|
||||
this()
|
||||
{
|
||||
Email = email;
|
||||
EmailVerified = emailVerified;
|
||||
IsSuccessed = true;
|
||||
ExternalId = externalId;
|
||||
FullName = fullName;
|
||||
}
|
||||
|
||||
public bool IsSuccessed { get; }
|
||||
public string? Email { get; }
|
||||
public bool EmailVerified { get; }
|
||||
public string? ExternalId { get; }
|
||||
public string? FullName { get; }
|
||||
}
|
||||
Reference in New Issue
Block a user