46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
|
|
using FutureMailAPI.Models;
|
||
|
|
|
||
|
|
namespace FutureMailAPI.Extensions
|
||
|
|
{
|
||
|
|
public static class HttpContextExtensions
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// 获取当前用户ID
|
||
|
|
/// </summary>
|
||
|
|
public static int? GetCurrentUserId(this HttpContext context)
|
||
|
|
{
|
||
|
|
if (context.Items.TryGetValue("UserId", out var userIdObj) && userIdObj is int userId)
|
||
|
|
{
|
||
|
|
return userId;
|
||
|
|
}
|
||
|
|
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 获取当前用户邮箱
|
||
|
|
/// </summary>
|
||
|
|
public static string? GetCurrentUserEmail(this HttpContext context)
|
||
|
|
{
|
||
|
|
if (context.Items.TryGetValue("UserEmail", out var userEmailObj) && userEmailObj is string userEmail)
|
||
|
|
{
|
||
|
|
return userEmail;
|
||
|
|
}
|
||
|
|
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 获取当前访问令牌
|
||
|
|
/// </summary>
|
||
|
|
public static OAuthAccessToken? GetCurrentAccessToken(this HttpContext context)
|
||
|
|
{
|
||
|
|
if (context.Items.TryGetValue("AccessToken", out var accessTokenObj) && accessTokenObj is OAuthAccessToken accessToken)
|
||
|
|
{
|
||
|
|
return accessToken;
|
||
|
|
}
|
||
|
|
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|