2013-07-03 98 views
0

我很困惑與提供appengine服務器2服務器身份驗證的新機制。AppIdentityService爲appengine 2 appengine身份驗證

我有2個應用程序。 App1和App2。 App1通過安全的寧靜界面與App2進行交互。

App2接口使用admin角色保護在web.xml中。

<security-constraint> 
<web-resource-collection> 
<url-pattern>/V3/publish/*</url-pattern> 
</web-resource-collection> 
<auth-constraint> 
<role-name>admin</role-name> 
</auth-constraint> 
</security-constraint> 

我將App1應用程序標識添加到App2管理列表。

然後App1只是使用服務器應用程序標識調用接口。 根據下面的鏈接應用程序身份API應該幫助我在這裏。

https://developers.google.com/appengine/docs/java/appidentity/

這似乎這個作品只爲 「谷歌API」 的應用程序,而不是其他系統(ie.user的AppEngine應用程序)。

Q1。我可以使用AppIdentityService以auth_contraint角色以安全的方式調用另一個appengine應用程序嗎?

任何幫助表示讚賞。

-lp

回答

0

也許'X-Appengine-Inbound-Appid'足夠你。它在App Engine中設置爲App Engine請求,並且不能在外部請求中設置。

我們使用這樣的事情在Python:

app_id = self.request.headers.get('X-Appengine-Inbound-Appid', None) 
if app_id not in {'some', 'other'}: 
    logging.warn(u'Callback from strange caller: %s', app_id) 
    .... 
else: 
    ....