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;

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")
});
  • No labels