尽管在api声明中提到allowed_client_ids,但所有Web客户端都能够访问api

时间:2014-10-11 11:30:00

标签: google-app-engine google-cloud-endpoints

import endpoints

from protorpc import messages #for encapsulating data for sending

from protorpc import message_types

WEB_CLIENT_ID = '644515464936-552tgvthbmnhopg6qe71e99rrfbjatj7.apps.googleusercontent.com'

class HelloMessage(messages.Message):

    msg = messages.StringField(1)

@endpoints.api(name='myapiversion1',

               version='v1',
               allowed_client_ids=[WEB_CLIENT_ID],
               audiences=[WEB_CLIENT_ID],
               scopes=[endpoints.EMAIL_SCOPE],
               auth_level=AUTH_LEVEL_REQUIRED,
               hostname='maulikversion1.appspot.com')

api url:https://maulikversion1.appspot.com/_ah/api/maulikversion1/v1/say_hello

我尝试从www.hurl.it访问它,这是一个用于测试rest api的web工具,它能够访问api。

Q1 应该给出什么错误,而不是允许访问我的自定义API? 不幸的是,它允许任何Web客户端访问api。

Q2。 未定义AUTH_LEVEL_REQUIRED - 内部服务器错误

1 个答案:

答案 0 :(得分:0)

现在限制其他网络客户端访问api

我猜客户端ID生成需要时间来反映生产环境