private string EncryptAuthState(AuthOrderDto order, CreateAuthOrderInput input) { var state = $"{order.Id}_{input.AuthState}_{DateTime.Now.ToString("fff")}"; var encryptData = TripleDESHelper.Encrypt(Encoding.UTF8.GetBytes(state), this._appSettings.GetTripleDESKeyData(), null, CipherMode.ECB, PaddingMode.PKCS7); return(MD5Helper.ConvertToString(encryptData)); }
public async Task <ActionResult> Authorization([FromQuery] CreateAuthOrderInput input) { var order = await this._authOrderAppService.Create(input); var redirectUriHost = this._appSettings.RedirectUriHost; if (string.IsNullOrWhiteSpace(redirectUriHost)) { redirectUriHost = $"{Request.Scheme}://{Request.Host}/{Request.PathBase}"; } var state = this.EncryptAuthState(order, input); return(Redirect($"{this._appSettings.TaobaoOAuthUrl}?response_type=code&client_id={input.AppKey}&redirect_uri={redirectUriHost.TrimEnd('/')}/Auth/Callback&state={state}&view={input.AuthView}")); }