private OAuth2Provider GetProvider(string type, bool referer = false) { type = type.ToLower(); Uri uri = Request.Url; string redirect = string.Concat(uri.Scheme, "://", uri.DnsSafeHost, uri.Port != 80 ? string.Concat(":", uri.Port.ToString()) : string.Empty, GetUrl(string.Concat("/oauth2/cb/", type))); if (referer) { string target = Request.QueryString["target"]; if (string.IsNullOrEmpty(target)) { if (Request.UrlReferrer != null) { target = Request.UrlReferrer.ToString(); } } if (!string.IsNullOrEmpty(target)) { redirect = string.Concat(redirect, "?target=", HttpUtility.UrlEncode(target)); } } M.OAuth2 provider = M.OAuth2.GetById(DataSource, type); if (provider != null) { OAuth2ProviderOptions options = new OAuth2ProviderOptions() { ClientId = provider.Key, ClientSecret = provider.Secret, RedirectUri = redirect }; return(OAuth2Provider.Create(options, type)); } return(null); }
public SohuProvider(OAuth2ProviderOptions options) : base(options) { if (options.Scope.Count == 0) { options.Scope.Add("basic"); } _scope = options.Scope; }
public DoubanProvider(OAuth2ProviderOptions options) : base(options) { }
public TianyiProvider(OAuth2ProviderOptions options) : base(options) { }
public Weibo(OAuth2ProviderOptions options) : base(options) { }
public DuoshuoProvider(OAuth2ProviderOptions options) : base(options) { }
public RenrenProvider(OAuth2ProviderOptions options) : base(options) { }
public _163Provider(OAuth2ProviderOptions options) : base(options) { }
public Taobao(OAuth2ProviderOptions options) : base(options) { }
public Weixinqr(OAuth2ProviderOptions options) : base(options) { base.Scope.Add("snsapi_login"); }
public QQ(OAuth2ProviderOptions options) : base(options) { }
public Baidu(OAuth2ProviderOptions options) : base(options) { }
public Weixin(OAuth2ProviderOptions options) : base(options) { base.Scope.Add("snsapi_userinfo"); }
public FeixinProvider(OAuth2ProviderOptions options) : base(options) { }
public TWeiboProvider(OAuth2ProviderOptions options) : base(options) { }