Universe Oauth avatar
Universe Oauth
Deprecated
View all Actors
This Actor is deprecated

This Actor is unavailable because the developer has decided to deprecate it. Would you like to try a similar Actor instead?

See alternative Actors
Universe Oauth

Universe Oauth

kelvinspencer/universe-oauth

This is an actor that will facilitate the Oauth for the Universe.com website.

Dockerfile

1# This is a template for a Dockerfile used to run acts in Actor system.
2# The base image name below is set during the act build, based on user settings.
3# IMPORTANT: The base image must set a correct working directory, such as /usr/src/app or /home/user
4FROM apify/actor-node-chrome:v0.21.10
5
6# Second, copy just package.json and package-lock.json since it should be
7# the only file that affects "npm install" in the next step, to speed up the build
8COPY package*.json ./
9
10# Install NPM packages, skip optional and development dependencies to
11# keep the image small. Avoid logging too much and print the dependency
12# tree for debugging
13RUN npm --quiet set progress=false \
14 && npm install --only=prod --no-optional \
15 && echo "Installed NPM packages:" \
16 && (npm list --all || true) \
17 && echo "Node.js version:" \
18 && node --version \
19 && echo "NPM version:" \
20 && npm --version
21
22# Copy source code to container
23# Do this in the last step, to have fast build if only the source code changed
24COPY --chown=myuser:myuser . ./
25
26# NOTE: The CMD is already defined by the base image.
27# Uncomment this for local node inspector debugging:
28# CMD [ "node", "--inspect=0.0.0.0:9229", "main.js" ]

package.json

1{
2    "name": "apify-project",
3    "version": "0.0.1",
4    "description": "",
5    "author": "It's not you it's me",
6    "license": "ISC",
7    "dependencies": {
8        "apify": "0.21.10",
9        "request-promise": "latest"
10    },
11    "scripts": {
12        "start": "node main.js"
13    }
14}

main.js

1const Apify = require('apify');
2const request = require('request-promise');
3const http = require('http');
4const https = require('https');
5
6var body = "";
7Apify.setValue('test-key-2', "test");
8
9Apify.main(async () => {
10    // Get input of your actor
11    const input = await Apify.getValue('INPUT');
12    await Apify.setValue('test-key', "test", { contentType: 'text/html' });
13    
14
15    var client_id = 'd80e14c53cd1c04ddbaec2c70f6e3aacde2439d0f1f9615a7e50f74d36de1987';
16    var client_secret = 'c2459604023bbb464885672727e931584e88475ebf7abcef82b1364cab79d64c';
17    //var redirect_url = 'https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fkelvinspencer%7Euniverse-oauth%2Frun-sync%3Ftoken%3DeqMr5hwRGiyFuhZgiRwTyppos';
18    var redirect_url = 'https://api.apify.com/v2/acts/kelvinspencer~universe-oauth/run-sync?token=eqMr5hwRGiyFuhZgiRwTyppos';
19    var redirect_url_encoded = encodeURI(redirect_url);
20    var res_type = 'code';
21    var auth_url = "https://www.universe.com/oauth/authorize?client_id="+client_id+"&redirect_uri="+redirect_url_encoded+"&response_type="+res_type;
22
23    // curl --request POST \
24    // --url 'https://www.universe.com/oauth/token' \
25    // --header 'content-type: application/json' \
26    // --data '{"grant_type":"client_credentials","client_id": "CLIENT_ID","client_secret": "CLIENT_SECRET"}'
27    
28    console.log("Start");
29    var result = '';
30    var myJSONObject = { "grant_type": "client_credentials", "client_id": client_id, "client_secret": client_secret};
31    request({
32        url: "https://www.universe.com/oauth/token",
33        method: "POST",
34        json: true, 
35        body: myJSONObject
36    }, async function (error, response, body){
37        result = body.access_token;
38        
39        console.log("result");
40        console.log(result);
41
42        await Apify.setValue('universe-key', result, { contentType: 'text/html' });
43        console.log("---");
44
45        console.log(response);
46
47
48    });
49    console.log("End");
50
51
52    // Do something useful here
53    //const html = await request('http://www.example.com');
54
55    // And then save output
56    const output = {
57        body,
58        result,
59        crawledAt: new Date(),
60    };
61    console.log('My output:');
62    console.dir(output);
63    await Apify.setValue('OUTPUT', output);
64});
Developer
Maintained by Community