添加项目文件。

This commit is contained in:
2023-03-13 15:00:34 +08:00
parent 42bf06ca3e
commit 1d73df3235
1205 changed files with 185078 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
using JNPF.Extras.CollectiveOAuth.Enums;
using JNPF.Extras.CollectiveOAuth.Models;
using JNPF.Extras.CollectiveOAuth.Request;
namespace JNPF.Extras.CollectiveOAuth.Config;
/// <summary>
/// OAuth平台的API地址的统一接口提供以下方法.
/// <para>1)<see cref="IAuthSource.authorize"/>: 获取授权url. 必须实现.</para>
/// <para>2)<see cref="IAuthSource.accessToken"/>: 获取accessToken的url. 必须实现.</para>
/// <para>3)<see cref="IAuthSource.userInfo"/>: 获取用户信息的url. 必须实现.</para>
/// <para>4)<see cref="IAuthSource.revoke"/>: 获取取消授权的url. 非必须实现接口(部分平台不支持).</para>
/// <para>5)<see cref="IAuthSource.refresh"/>: 获取刷新授权的url. 非必须实现接口(部分平台不支持).</para>
/// 注:.
/// <para> ①、如需通过JustAuth扩展实现第三方授权请参考<see cref="DefaultAuthSourceEnum"/>自行创建对应的枚举类并实现<see cref="IAuthSource"/>接口.</para>
/// <para> ②、如果不是使用的枚举类那么在授权成功后获取用户信息时需要单独处理source字段的赋值.</para>
/// <para> ③、如果扩展了对应枚举类时,在<see cref="IAuthRequest.login(AuthCallback)"/>中可以通过<c>xx.toString()</c>获取对应的source.</para>
/// </summary>
public interface IAuthSource
{
/// <summary>
/// 授权的api.
/// </summary>
/// <returns>utl.</returns>
string authorize();
/// <summary>
/// 获取accessToken的api.
/// </summary>
/// <returns>utl.</returns>
string accessToken();
/// <summary>
/// 获取用户信息的api.
/// </summary>
/// <returns>utl.</returns>
string userInfo();
/// <summary>
/// 取消授权的api.
/// </summary>
/// <returns>utl.</returns>
string revoke();
/// <summary>
/// 刷新授权的api.
/// </summary>
/// <returns>utl.</returns>
string refresh();
/// <summary>
/// 获取Source的字符串名字.
/// </summary>
/// <returns>utl.</returns>
string getName();
}