/// <summary> /// Check <see cref="IOAuthService"/>. /// </summary> /// <returns>Check <see cref="IOAuthService"/>.</returns> /// <param name="code">Check <see cref="IOAuthService"/>.</param> /// <param name="scopes">Check <see cref="IOAuthService"/>.</param> public async Task GetAccessTokenAsync(string code, string scopes) { if (string.IsNullOrEmpty(code)) { throw new ArgumentNullException(code); } TokenQuery query = new TokenQuery { ClientId = _configuration.ClientId, ClientSecret = _configuration.ClientSecret, RedirectUri = _configuration.RedirectUri, GrantType = "authorization_code", Code = code, Scopes = scopes }; var request = new OAuthRequest <Token> { Query = query, Path = "/v6/authentication/oauth2/token", HTTPMethod = HttpMethod.Post, Authenticated = false }; var token = await _requestSender.SendRequestAsync(request).ConfigureAwait(false); token.SetAccessTokenExpiration(); _credentials.Update(token); }
public static async Task <TokenModel> Get(TokenQuery query) { var request = new HttpRequestMessage(HttpMethod.Post, query.Url) { Content = new FormUrlEncodedContent( new Dictionary <string, string> { { "username", query.User }, { "password", query.Key } }), }; var token = await httpClient.SendAsync(request); return((await token.Content.ReadAsStringAsync()) .DeserialiseJson <TokenModel>()); }
/// <summary> /// 获取令牌 /// </summary> /// <param name="tokenID"></param> /// <returns></returns> public TokenEntity GetToken(TokenQuery tokenQuery) { TokenEntity tokenEntity = null; StringBuilder sqlCommandText = new StringBuilder(); sqlCommandText.Append("SELECT TOP 1 TokenID,AuthorID,Token,Type,AddDate FROM dbo.Token WITH(NOLOCK)"); sqlCommandText.Append(" WHERE JournalID=@JournalID AND AuthorID=@AuthorID AND AddDate>=@ExpireDate"); if (!string.IsNullOrEmpty(tokenQuery.Token)) { sqlCommandText.Append(" AND Token=@Token"); } if (tokenQuery.Type > 0) { sqlCommandText.Append(" AND Type=@Type"); } DbCommand cmd = db.GetSqlStringCommand(sqlCommandText.ToString()); db.AddInParameter(cmd, "@JournalID", DbType.Int64, tokenQuery.JournalID); db.AddInParameter(cmd, "@AuthorID", DbType.Int64, tokenQuery.AuthorID); if (!string.IsNullOrEmpty(tokenQuery.Token)) { db.AddInParameter(cmd, "@Token", DbType.String, tokenQuery.Token); } if (tokenQuery.Type > 0) { db.AddInParameter(cmd, "@Type", DbType.Int16, tokenQuery.Type); } db.AddInParameter(cmd, "@ExpireDate", DbType.DateTime, tokenQuery.ExpireDate); using (IDataReader dr = db.ExecuteReader(cmd)) { if (dr.Read()) { tokenEntity = new TokenEntity(); tokenEntity.TokenID = (Int64)dr["TokenID"]; tokenEntity.AuthorID = (Int64)dr["AuthorID"]; tokenEntity.Token = (String)dr["Token"]; tokenEntity.Type = (Byte)dr["Type"]; tokenEntity.AddDate = (DateTime)dr["AddDate"]; } dr.Close(); } return(tokenEntity); }
private async Task RefreshToken() { TokenQuery query = new TokenQuery { ClientId = _configuration.ClientId, ClientSecret = _configuration.ClientSecret, RefreshToken = _credentials.RefreshToken, GrantType = "refresh_token" }; var request = new OAuthRequest <Token> { Authenticated = false, Query = query, Path = $"/v6/authentication/oauth2/token", HTTPMethod = HttpMethod.Post }; var newToken = await SendRequestAsync(request).ConfigureAwait(false); _credentials.Update(newToken); }
/// <summary> /// 单篇送排 /// </summary> /// <param name="CID"></param> /// <returns></returns> public ActionResult SingleSendTypesetting(long CID) { ExecResult eResult = new ExecResult(); FangZService.JournalXService jService = new FangZService.JournalXService(); try { # region get token // 验证令牌正确性 TokenQuery tokenQuery = new TokenQuery(); tokenQuery.JournalID = SiteConfig.SiteID; tokenQuery.AuthorID = 0; tokenQuery.Type = 3; tokenQuery.ExpireDate = DateTime.Now.AddDays(-7); IAuthorFacadeService authorService = ServiceContainer.Instance.Container.Resolve <IAuthorFacadeService>(); TokenEntity tokenEntity = authorService.GetToken(tokenQuery); string SafetyCode = ""; if (tokenEntity != null) { SafetyCode = tokenEntity.Token; } # endregion
/// <summary> /// 获取令牌实体对象 /// </summary> /// <param name="tokenQuery"></param> /// <returns>获取一个实体,如果数据不存在返回Null</returns> public TokenEntity GetToken(TokenQuery tokenQuery) { return(TokenDataAccess.Instance.GetToken(tokenQuery)); }
public static void FullTextQuery(this TokenQuery tokenQuery, IContentIndexer indexer) { tokenQuery.Ids = indexer.Query(tokenQuery.Token).ToList(); }
public static void FileQuery(this TokenQuery tokenQuery, List <ContentItem> contentItems, string domain) { tokenQuery.Ids = contentItems.ForDomain(domain).Where(x => x.HasFile(tokenQuery.Token)).Select(y => y.Id).ToList(); }
public static void PathQuery(this TokenQuery tokenQuery, List <ContentItem> contentItems, string domain) { //tokenQuery.Ids = contentItems.ForDomain(domain).Where(x => x.HasPathStartingWith(tokenQuery.Token)).Select(y => y.Id).ToList(); tokenQuery.Ids = contentItems.ForDomain(domain).Where(x => x.Paths.Contains(tokenQuery.Token)).Select(y => y.Id).ToList(); }
/// <summary> /// 获取一个实体对象 /// </summary> /// <param name="tokenQuery"></param> /// <returns>获取一个实体,如果数据不存在返回Null</returns> public TokenEntity GetToken(TokenQuery tokenQuery) { return(TokenBusProvider.GetToken(tokenQuery)); }
public TokenQueryTest() { TestEnvironment.Init(); query = new TokenQuery(); }