 
 			return @
 
+		`// @if TARGET!='nodejs'
+		`
+		data =
+			grant_type: 'implicit',
+			client_id:  @options.publicId
+		`// @endif
+		`
+
+		`// @if TARGET=='nodejs'
+		`
+		data =
+			grant_type:   'client_credentials',
+			client_id:     @options.publicId
+			client_secret: @options.secretKey
+		`// @endif
+		`
+
 		@Ajax
-			type: 'POST'
-			url: @options.url+'oauth/access_token'
-			data:
-				grant_type: 'implicit',
-				client_id:  @options.publicId
+			method: 'POST'
+			path: '/oauth/access_token'
+			data: data
 			async: if typeof callback == 'function' then true else false
 			headers:
 				'Content-Type': 'application/x-www-form-urlencoded'
-				'X-SDK': 'js'
 			success: (r, c, e) =>
 				@options.auth =
 					token:   r.access_token

			if typeof callback == 'function'
				callback @options.auth

			`// @if TARGET!='tvjs'
			`
			_e = document.createEvent 'CustomEvent'
			_e.initCustomEvent 'MoltinReady', false, false, @

				if typeof callback == 'function'
					callback r

				`// @if TARGET=='js'
				`
				_e = document.createEvent 'CustomEvent'
				_e.initCustomEvent 'MoltinReady', false, false, @
