如何使用oAuth2在服务器之间进行通信(Google Cloud Engine-> Google App Engine)

问题描述 投票:0回答:1

首先,我想描述一下我们的系统。 我们有两个服务器。

第一个在Google App Engine上 ,具有一些逻辑,可以为Android应用程序提供对数据库的访问,还具有一些用于外部通信的servlet(稍后将对此进行详细介绍)。

第二个是在Google Cloud Engine上 。 应用程序是用Meteor编写的(为简化起见,它只是Node.js)。 我们希望在这些服务器之间进行通信(GCE-> GAE)。 我们在此servlet端点上的其他API的地址为https://appname.appspot.com/admin/upload 。 当我在没有身份验证的情况下发出请求时,一切正常:

HTTP.get(getURL, {}, getCallback);

但是,我不知道如何使用oAuth2身份验证进行操作。 当我从浏览器转到地址https://appname.appspot.com/admin/upload时 ,它会将我重定向到Google身份验证,并且一切正常(在Google控制台中添加了我的帐户)。 但是如何使用oAuth2身份验证从Node.js服务器发送http请求?

为了给您更多细节,这是servlet配置:

<security-constraint>
    <display-name>SecurityConstraint</display-name>
    <web-resource-collection>
        <web-resource-name>WRCollection</web-resource-name>
        <url-pattern>/admin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

<servlet-mapping>
    <servlet-name>UploadRequestServlet</servlet-name>
    <url-pattern>/admin/upload</url-pattern>
</servlet-mapping>

我知道我必须将服务器设置为服务器通信,但是如何使用Node.js完成此通信? 有人可以帮忙吗? 我不知道从哪里开始

javascript node.js google-app-engine servlets oauth-2.0
1个回答
0
投票

如果有人在使用OAuth 2.0签出库进行服务器到服务器通信(Meteor.js服务器到Google服务器)时遇到问题,那么我已经创建了https://github.com/jagi/meteor-google-oauth-jwt 。 它使从Meteor.js服务器调用Google REST API变得更加简单。

© www.soinside.com 2019 - 2024. All rights reserved.