相关疑难解决方法(0)

在没有Google帐户登录的情况下将您的客户端验证到Cloud Endpoints

我一直在研究如何使用Cloud Endpoints验证您的客户端(Android,iOS,web-app),无需用户按照文档显示的方式使用他们的Google帐户登录.

这样做的原因是我想要保护我的API或"将其锁定"仅限于我指定的客户端.有时我会有一个没有用户登录的应用程序.我讨厌纠缠我的用户现在登录,因此我的API是安全的.或者其他时候,我只想在网站上管理自己的用户,而不是使用Google+,Facebook或其他任何登录身份验证.

首先,让我首先展示您使用Cloud Endpoints API使用文档中指定的Google帐户登录信息验证Android应用的方式.在那之后,我将向您展示我的发现以及我需要帮助的解决方案的潜在领域.

(1)指定授权向API后端发出请求的应用程序的客户端ID(clientIds),以及(2)将User参数添加到要通过授权保护的所有公开方法.

public class Constants {
      public static final String WEB_CLIENT_ID = "1-web-apps.apps.googleusercontent.com";
      public static final String ANDROID_CLIENT_ID = "2-android-apps.googleusercontent.com";
      public static final String IOS_CLIENT_ID = "3-ios-apps.googleusercontent.com";
      public static final String ANDROID_AUDIENCE = WEB_CLIENT_ID;

      public static final String EMAIL_SCOPE = "https://www.googleapis.com/auth/userinfo.email";
    }


import com.google.api.server.spi.auth.common.User; //import for the User object

    @Api(name = "myApi", version = "v1",
         namespace = @ApiNamespace(ownerDomain = "${endpointOwnerDomain}",
         ownerName = "${endpointOwnerDomain}",
         packagePath="${endpointPackagePath}"),
         scopes = {Constants.EMAIL_SCOPE}, 
         clientIds = …
Run Code Online (Sandbox Code Playgroud)

authentication google-app-engine android google-cloud-endpoints google-oauth

24
推荐指数
1
解决办法
1795
查看次数

Facebook登录Google Cloud Endpoints

有人可以解释与其他OAuth2提供商实施登录过程的步骤此链接Google Cloud Endpoints与另一个oAuth2提供商提供的关于编写自定义身份验证的信息很少,但我想对于像我这样的初学者来说还不够,请详细说明.特别是对Facebook感兴趣.

google-app-engine oauth-2.0 google-cloud-endpoints

22
推荐指数
2
解决办法
6866
查看次数

没有Google帐户的Google Cloud端点

我们的网络应用程序不提供Google帐户身份验证.我们使用WebApp2身份验证实现了自己的身份验证:http://webapp-improved.appspot.com/tutorials/auth.html .

我们希望将Cloud Endpoints用作移动应用/第三方开发人员的API,但我们仍然希望使用oAuth2进行身份验证.

实现这个步骤需要哪些步骤?我们是否需要在AppEngine上设置我们自己的oAuth服务器并且Google客户端库是否兼容?

authentication google-app-engine google-cloud-endpoints

12
推荐指数
1
解决办法
2091
查看次数

Cloud Endpoints-Python的自定义身份验证(用户模型)

我正在开发一个带有GAE后端的Android应用程序,用于会话等.我想使用Google Cloud Endpoint并使用自定义身份验证用户模型开发API.我不想使用谷歌的oauth.我想实现一个简单的电子邮件/传递用户身份验证模型与基于会话的令牌.我对GAE没有任何经验.我曾在python和它的框架(django,flask等)工作过.

过去一周我一直在寻找这种样本项目(没有运气).

有人可以提供一些示例代码/资源,介绍如何使用会话管理和csrf保护以及ssl来实现这样的端点吗?

Ps:如果您认为云端点对我的应用程序(服务器后端)来说不是一个好方法,那么请指导我一个可以帮助我创建自己的RESTful api并使用JSON编码+ crsf保护和会话管理的源代码.

我已经看到以下内容,但没有一个有详细的解决方案:

python google-app-engine google-cloud-endpoints

10
推荐指数
1
解决办法
2044
查看次数

Google Cloud Endpoints和JWT

我有一个基于Google Cloud Endpoints的API,我想使用JWT(Json Web Tokens)进行授权.我可以为每个包含令牌的请求设置Authorization标头,它可以正常工作.我知道Endpoints在Oauth2中使用了这个标题,这是我的问题.使用自定义令牌的授权标头是否正确?GAE日志:

D 12:38:44.375 Checking for id_token.
D 12:38:44.376 id_token verification failed: Unexpected encryption algorithm: u'HS256'
D 12:38:44.376 Checking for oauth token.
D 12:38:44.384 Oauth framework user didn't match oauth token user.
Run Code Online (Sandbox Code Playgroud)

看起来GAE试图将此令牌读作oauth令牌并且它不好,对吧?也许我应该在URL中发送我的令牌?像app-id.appspot.com/_ah/api/my_app/v1/users/get?jwt=TOKEN之类的东西.也许我不应该将JWT与Google Cloud Endpoints一起使用?

google-app-engine google-cloud-endpoints

3
推荐指数
1
解决办法
2019
查看次数