Go Back   vb.org Archive > vBulletin 5 Connect Discussion > vB5 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-31-2013, 04:27 PM
daniel.castro daniel.castro is offline
 
Join Date: Jul 2013
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default API Single Sign On

I have seen numerous older posts regarding this topic with no satisfactory answers to my specific issue. I am attempting the age old problem of single sign on, as well as retrieving forum posts.

vBulletin 5 and 4 were released with a Mobile API.
http://www.vbulletin.com/vbcms/conte...34-mobile-api?

The API contains every method I need to integrate my existing site.
http://www.vbulletin.com/vbcms/conte...52-Method-List
http://www.vbulletin.com/vbcms/conte...elated-Methods

It appears the Mobile API does not work in vB5. I opened a ticket with vBulletin support and they claim because they do not have vB5 Mobile API documentation, they can not help me and to use vb4 instead. This is not acceptable and I have a phone call into their support right now. I had to leave a message because it would not put me in a queue for the next available person.

Anyhow, I have written a test application and have been able to call api_init, initiate a connection and receive the proper response per the API documentation for both vB5 and vB4.

My test application is a windows form application written in C#. My signature code is:

string signature = RequestParameters.GetRequestQueryString() + ApiAccessToken + ApiClientId + Secret + ApiKey;

MD5 md5Hasher = MD5.Create();

byte[] hash = md5Hasher.ComputeHash(Encoding.ASCII.GetBytes(sign ature));

return BitConverter.ToString(hash).Replace("-", "").ToLower();

For my test I am using the plain text password option so I know for a fact the username and password are correct.

In vB5, I simply get a The remote server returned an error: (404) Not Found. Almost as if the internal API is redirecting to a missing file.

In vB4, when I POST (as per the API docs) I receive invalid_api_signature, but with a GET I receive badlogin.

My setup is such:

vBulletin 5.0.3
vBulletin 4.2.1

Server Type WINNT
Web Server IIS v7 (cgi-fcgi)
PHP 5.3.24
MySQL Version 5.6.12

Can anyone out there help me? Has anyone ever been able to get the Mobile API to work in any version of vBulletin in any environment (php, java, c#, etc.)?


Thanks,

Dan
Reply With Quote
  #2  
Old 07-31-2013, 04:39 PM
daniel.castro daniel.castro is offline
 
Join Date: Jul 2013
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

UPDATE: If the encoding of my POST parameters is ASCII, I receive invalid_api_signature. If the encoding is Unicode, I receive The remote server returned an error: (404) Not Found.

--------------- Added [DATE]1375305081[/DATE] at [TIME]1375305081[/TIME] ---------------

UPDATE: vB4 authentication is working. Signature must include all parameters sent as url parameters except api_sig, api_c, api_s and api_v. During POST send in url and as post parameters.
Reply With Quote
  #3  
Old 11-18-2013, 06:20 AM
magicwalker magicwalker is offline
 
Join Date: Nov 2013
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I cannot find any documentation for API and did not explain well. Now my product stuck on because lack of support on vbulletin 5.05
- login
- login
- new user creation.......

I really don't know how to solve since the API documentation for 5.05 but claim good support on API.
Reply With Quote
  #4  
Old 12-11-2013, 12:52 PM
bravura bravura is offline
 
Join Date: Dec 2013
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by daniel.castro View Post
UPDATE: If the encoding of my POST parameters is ASCII, I receive invalid_api_signature. If the encoding is Unicode, I receive The remote server returned an error: (404) Not Found.

--------------- Added [DATE]1375305081[/DATE] at [TIME]1375305081[/TIME] ---------------

UPDATE: vB4 authentication is working. Signature must include all parameters sent as url parameters except api_sig, api_c, api_s and api_v. During POST send in url and as post parameters.
Hello,

Can you please help me on creating the api_sig in vB4 using C#. I am getting this error: invalid_api_signature. I am using the below C# code

Code
=============

apiVersion = HttpUtility.UrlEncode(apiVersion);
apiAccessToken = HttpUtility.UrlEncode(apiAccessToken);
vBulletinVersion = HttpUtility.UrlEncode(vBulletinVersion);
apiClientId = HttpUtility.UrlEncode(apiClientId);
secret = HttpUtility.UrlEncode(secret);
apiKey = HttpUtility.UrlEncode(apiKey);

using(MD5 md5Hash = MD5.Create())
{
md5Password = GetMD5Hash(md5Hash, password);
}

string login_string = "api_m=login_login" + "&vb_login_username=" + userName + "&vb_login_md5password=" + md5Password;

using (MD5 md5Hash = MD5.Create())
{
api_sig = GetMD5Hash(md5Hash, login_string + apiAccessToken + apiClientId + secret + apiKey);
api_sig = HttpUtility.UrlEncode(api_sig);
}

String login_request = "vb_login_username=" + userName + "&vb_login_md5password=" + md5Password + "&cookieuser=true";

String request = "?api_c=" + apiClientId + "&api_v=" + apiVersion + "&api_m=login_login" + "&api_s=" + apiAccessToken + "&api_sig=" + api_sig;
url = url + request;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = login_request.Length;
CookieContainer a = new CookieContainer();
req.CookieContainer = a;
System.Net.ServicePointManager.Expect100Continue = false; // prevents 417 error
using (StreamWriter writer = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII))
{
writer.Write(login_request);
}

response = (HttpWebResponse)req.GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
//cookie = reader.ReadToEnd();
JavaScriptSerializer js = new JavaScriptSerializer();
jsonResp = js.Deserialize<Dictionary<string, object>>(reader.ReadToEnd());
}




Thanks
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:56 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03746 seconds
  • Memory Usage 2,192KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete