的Bigcommerce验证码(Bigcommerce Authentication code)

2019-10-20 04:24发布

如何获得验证码?

我使用https://login.bigcommerce.com/oauth2 URL和传球的client_id = {0}&REDIRECT_URI = {1}&RESPONSE_TYPE =代码{2} {3}在GET方法,但它给我的错误“该页你寻找不存在“。

我知道获得验证码后,我可以生成令牌。 但第一步是没有tclear如何通过登录页面获取验证码?

Answer 1:

我只是通过这个OAuth令牌问题去和文档都没有太大的帮助,但一旦我去我终于设法通过我的服务器上本地创建我的SSL回调页面以获取应用程序的设置。 有一次,我指定的URL在应用设置中我所有的设置。 需要说明的是我不得不做执行,同时登录到公元前店老板的从服务器本身,因为它不是一个公共URL“安装”。 当时我能够从查询字符串获得临时令牌,并发送回https://login.bigcommerce.com/oauth2/token并获得响应流永久令牌。

你必须包括你的客户端ID,客户端密钥和的Request.QueryString在POST请求[“代码”]值。

以下是我所获得的永久标记,这将是内部jsonResponse:

string baseURL = "https://login.bigcommerce.com/oauth2/token";
string contentType = "application/x-www-form-urlencoded";
string callbackURL = <your SSL callback URL>

HttpWebRequest req = WebRequest.CreateHttp(baseURL);
req.AllowAutoRedirect = true;
req.ContentType = contentType;
req.Method = "POST";

//Build POST content body
StringBuilder sb = new StringBuilder();
sb.AppendFormat("client_id={0}", clientID);
sb.AppendFormat("&client_secret={0}", clientSecret);
sb.AppendFormat("&code={0}", tempToken);
sb.AppendFormat("&scope={0}", scopes);
sb.AppendFormat("&grant_type=authorization_code");
sb.AppendFormat("&redirect_uri={0}", callbackURL);
sb.AppendFormat("&context={0}", storeContext);

//Convert the content to byte array and set content length
string contentString = sb.ToString();
byte[] postData = Encoding.UTF8.GetBytes(contentString);
req.ContentLength = postData.Length;

//Send the data to login server
using (Stream stream = req.GetRequestStream())
{
    stream.Write(postData, 0, postData.Length);
    stream.Flush();
    stream.Close();
}

//Get the request response object
WebResponse resp = req.GetResponse();

//Read the contents of the response
StreamReader sr = new StreamReader(resp.GetResponseStream());
string jsonResponse = sr.ReadToEnd();


Answer 2:

如果你使用类似于上面显示我的做法的东西,通过阅读的Request.QueryString [“代码”]的值捕捉回调URL中定义的aspx页面的Page_Load事件过程中的临时令牌。 您可以在商店的控制面板中找到你的店的哈希,一个位置是旧的API账户,如果我没有记错。 HTH。



文章来源: Bigcommerce Authentication code