예제 #1
0
 /**
  * 校验回调传回的{@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());
     }
 }
예제 #2
0
 public MeituanAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new MeituanAuthSource(), authStateCache)
 {
 }
예제 #3
0
 public RenrenAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new RenrenAuthSource(), authStateCache)
 {
 }
예제 #4
0
 public OschinaAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new OschinaAuthSource(), authStateCache)
 {
 }
예제 #5
0
 public TeambitionAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new GithubAuthSource(), authStateCache)
 {
 }
예제 #6
0
 public DouyinAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new DouyinAuthSource(), authStateCache)
 {
 }
예제 #7
0
 public MicrosoftAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new MicrosoftAuthSource(), authStateCache)
 {
 }
예제 #8
0
 public ToutiaoAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new ToutiaoAuthSource(), authStateCache)
 {
 }
예제 #9
0
 public WeChatEnterpriseAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new WechatEnterpriseAuthSource(), authStateCache)
 {
 }
예제 #10
0
 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);
 }
예제 #11
0
 public BaiduAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new BaiduAuthSource(), authStateCache)
 {
 }
예제 #12
0
 public XiaoMiAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new XiaoMiAuthSource(), authStateCache)
 {
 }
예제 #13
0
 public DefaultAuthRequest(ClientConfig config, IAuthSource source, IAuthStateCache authStateCache)
 {
     this.config         = config;
     this.source         = source;
     this.authStateCache = authStateCache;
 }
예제 #14
0
 public FackbookAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new FackbookAuthSource(), authStateCache)
 {
 }
 public PinterestAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new PinterestAuthSource(), authStateCache)
 {
 }
예제 #16
0
 public HuaweiAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new HuaweiAuthSource(), authStateCache)
 {
 }
예제 #17
0
 public GitlabAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new GitlabAuthSource(), authStateCache)
 {
 }
예제 #18
0
 public LinkedInAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new LinkedInAuthSource(), authStateCache)
 {
 }
예제 #19
0
 public CodingAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new CodingAuthSource(), authStateCache)
 {
 }
예제 #20
0
 public KujialeAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new KujialeAuthSource(), authStateCache)
 {
 }
예제 #21
0
 public StackOverflowAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new StackOverflowAuthSource(), authStateCache)
 {
 }
예제 #22
0
 public ElemeAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new ElemeAuthSource(), authStateCache)
 {
 }
 public DingTalkScanAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new DingTalkScanAuthSource(), authStateCache)
 {
 }
예제 #24
0
 public WeiboAuthRequest(ClientConfig config, IAuthStateCache authStateCache)
     : base(config, new WeiboAuthSource(), authStateCache)
 {
 }