Google Oauth2 в Эрланге - PullRequest
       9

Google Oauth2 в Эрланге

0 голосов
/ 24 апреля 2019

Как мне сгенерировать Google oauth2 Access token в Erlang.

Я могу сгенерировать токен в NodejS i. Мне это нужно в Erlang, так как весь мой остальной api-код в Erlang.

Blockquote

var {google} = require('googleapis');
var MESSAGING_SCOPE = "https://www.googleapis.com/auth/firebase.messaging";
var SCOPES = [MESSAGING_SCOPE];

 var http = require('http')


 function getAccessToken(){
    return new Promise(function(resolve, reject){
        var key = require("./ServiceAccountKey.json");
        var jwtClient = new google.auth.JWT(
            key.client_email,
            null,
            key.private_key,
            SCOPES,
            null
        );
        jwtClient.authorize(function(err, tokens){
            if(err){
                reject(err);
                return; 
            }
            resolve(tokens.access_token+" :  "+tokens.expiry_date);
        });
    });
}

 var server = http.createServer(function(req, res){

     getAccessToken().then(function(access_token){

         res.end(access_token);

     });

 });

 server.listen(3000, function(){
    console.log("Server started");
}); 

Пытался сгенерировать код

 URL="https://accounts.google.com/o/oauth2/auth",
 Scope="https://www.googleapis.com/auth/firebase.messaging",

 GetURL=URL++"?client_id="++ClientId++"&redirect_uri=com.example.app:/oauth2redirect&scope="++Scope++"&response_type=code",

        Response = httpc:request(URL),
        Response.

Возврат плохого запроса

1 Ответ

0 голосов
/ 24 апреля 2019

В своем коде вы создаете URL со всеми необходимыми параметрами запроса и помещаете его в переменную GetURL, но затем передаете URL, который является просто базовым URL, httpc:request. Попробуйте вместо этого передать GetURL, и посмотрите, поможет ли это вам:

    Response = httpc:request(GetURL),
...