To simplify the oAuth flow, we recommend to use the DevDefined.OAuth library.
Step 1 - obtain accessToken from BellaDati REST API
Configure the oAuth settings on your domain detail page. See REST API.
X509Certificate2 certificate = TestCertificates.OAuthTestCertificate(); string requestUrl = "https://belladati_host/oauth/requestToken"; string userAuthorizeUrl = "https://belladati_host/authorizeRequestToken"; string accessUrl = "https://belladati_host/oauth/accessToken"; string callBackUrl = "http://localhost:8080/"; consumerContext = new OAuthConsumerContext { ConsumerKey = "consumerKey", SignatureMethod = SignatureMethod.HmacSha1, Key = certificate.PrivateKey, ConsumerSecret = "consumerSecret" }; IToken accessToken = new OAuthSession(consumerContext, requestUrl, userAuthorizeUrl, accessUrl).GetAccessTokenUsingXAuth(null, "username","password"); OAuthSession session = new OAuthSession(consumerContext, requestUrl, userAuthorizeUrl, accessUrl); session.AccessToken = accessToken;
Step 2 - create unattended login request and get request_id and request_code
string responseText = session.Request().Post().ForUrl("https://belladati_host/api/users/user_to_log_in/requests").ToString(); string request_id = responseText.Split(';')[0]; string request_code = responseText.Split(';')[1];
Step 3 - generate login link with request_id and request_code
string link = "https://belladati_host/user/processRequest/" + request_id + "/" + request_code;
Step 4 - execute XMLHttpRequest using the generated link
Don't forget to configure the CORS filter on BellaDati settings page.
$.ajax({ url: link, xhrFields: { withCredentials: true }, success: console.log("Success"), error: console.log("Error") });
Overview
Content Tools