Basic Auth

From DreamFactory
Jump to: navigation, search
Line 1: Line 1:
### Tutorial
+
=== Tutorial ===
  
 
DreamFactory 2.0 supports Basic HTTP Authentication both via Authorization request header and URL.
 
DreamFactory 2.0 supports Basic HTTP Authentication both via Authorization request header and URL.
  
### API Endpoints
+
=== API Endpoints ===
  
#### Using Authorization request header
+
==== Using Authorization request header ====
  
 
<pre>{METHOD} https://{url}/api/v2/{service}/{resource}</pre>
 
<pre>{METHOD} https://{url}/api/v2/{service}/{resource}</pre>
Line 19: Line 19:
 
</pre>
 
</pre>
  
#### Using URL
+
==== Using URL ====
  
 
<pre>{METHOD} https://username:password@{url}/api/v2/{service}/{resource}</pre>
 
<pre>{METHOD} https://username:password@{url}/api/v2/{service}/{resource}</pre>
  
> _Note: Basic Authentication over URL will not work for user agents that support request header (most web browsers)_
+
    ''Note: Basic Authentication over URL will not work for user agents that support request header (most web browsers)''
  
### Example - Basic Authentication via Authorization request header using JQuery Ajax call
+
=== Example - Basic Authentication via Authorization request header using JQuery Ajax call ===
  
 
<source lang="JavaScript">
 
<source lang="JavaScript">
Line 50: Line 50:
 
</source>
 
</source>
  
### Example - Basic Authentication via URL using CURL
+
=== Example - Basic Authentication via URL using CURL ===
  
 
* Username: jdoe@dreamfactory.com
 
* Username: jdoe@dreamfactory.com
Line 60: Line 60:
 
</pre>
 
</pre>
  
> _Note: %40 = url_encode(@)_
+
    ''Note: %40 = url_encode(@)''

Revision as of 17:17, 3 February 2016

Tutorial

DreamFactory 2.0 supports Basic HTTP Authentication both via Authorization request header and URL.

API Endpoints

Using Authorization request header

{METHOD} https://{url}/api/v2/{service}/{resource}

Request Header:

 Accept:application/json
 Accept-Encoding:gzip, deflate, sdch
 Accept-Language:en-US,en;q=0.8
 Authorization:Basic {base64_encode(username + : + password)}    <-- Basic Authentication
 Connection:keep-alive
 Content-Type:application/json
 ....

Using URL

{METHOD} https://username:password@{url}/api/v2/{service}/{resource}
   Note: Basic Authentication over URL will not work for user agents that support request header (most web browsers)

Example - Basic Authentication via Authorization request header using JQuery Ajax call

var username = $('#username').val();
var password = $('#password').val();
var url = $('#url').val();
 
$.ajax({ 
    url: url,
    async: true,
    type:'GET',
    dataType: 'json',
    contentType: 'application/json',
    beforeSend: function(xhr) {
        xhr.setRequestHeader("Authorization", "Basic "+btoa(username+':'+password));
    },
    success: function(json){
        ...
    },
    error: function(err) {
        ...
    }
});

Example - Basic Authentication via URL using CURL

  • Username: jdoe@dreamfactory.com
  • Password: secret
  • Service: system
  • Resource: user
curl http://jdoe%40dreamfactory.com:secret@foo.com/rest/system/user
   Note: %40 = url_encode(@)