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