/** * 校验回调传回的{@code state},为空或者不存在 * <p> * {@code state}不存在的情况只有两种: * 1. {@code state}已使用,被正常清除 * 2. {@code state}为前端伪造,本身就不存在 * * @param state {@code state}一定不为空 * @param authStateCache {@code authStateCache} state缓存实现 */ public static void checkState(string state, IAuthSource source, IAuthStateCache authStateCache) { if (string.IsNullOrWhiteSpace(state) || !authStateCache.containsKey(state)) { throw new Exception(AuthResponseStatus.ILLEGAL_STATUS.GetDesc()); } }
public MeituanAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new MeituanAuthSource(), authStateCache) { }
public RenrenAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new RenrenAuthSource(), authStateCache) { }
public OschinaAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new OschinaAuthSource(), authStateCache) { }
public TeambitionAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new GithubAuthSource(), authStateCache) { }
public DouyinAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new DouyinAuthSource(), authStateCache) { }
public MicrosoftAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new MicrosoftAuthSource(), authStateCache) { }
public ToutiaoAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new ToutiaoAuthSource(), authStateCache) { }
public WeChatEnterpriseAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new WechatEnterpriseAuthSource(), authStateCache) { }
public AlipayMpAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new AlipayMPAuthSource(), authStateCache) { aopClient = new DefaultAopClient(source.accessToken(), config.clientId, config.clientSecret, "json", "1.0", "RSA2", config.alipayPublicKey, "GBK", false); }
public BaiduAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new BaiduAuthSource(), authStateCache) { }
public XiaoMiAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new XiaoMiAuthSource(), authStateCache) { }
public DefaultAuthRequest(ClientConfig config, IAuthSource source, IAuthStateCache authStateCache) { this.config = config; this.source = source; this.authStateCache = authStateCache; }
public FackbookAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new FackbookAuthSource(), authStateCache) { }
public PinterestAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new PinterestAuthSource(), authStateCache) { }
public HuaweiAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new HuaweiAuthSource(), authStateCache) { }
public GitlabAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new GitlabAuthSource(), authStateCache) { }
public LinkedInAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new LinkedInAuthSource(), authStateCache) { }
public CodingAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new CodingAuthSource(), authStateCache) { }
public KujialeAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new KujialeAuthSource(), authStateCache) { }
public StackOverflowAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new StackOverflowAuthSource(), authStateCache) { }
public ElemeAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new ElemeAuthSource(), authStateCache) { }
public DingTalkScanAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new DingTalkScanAuthSource(), authStateCache) { }
public WeiboAuthRequest(ClientConfig config, IAuthStateCache authStateCache) : base(config, new WeiboAuthSource(), authStateCache) { }