Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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}"));
        }