19

有没有办法在Google云端点上使用另一个OAuth2提供商?我的意思是,例如,从Facebook获取身份验证,并使用它与我们使用Google帐户身份验证的相同方式(使用gapi js并将用户类别放在@ApiMethod上)谷歌云端点与另一个oAuth2提供商

+0

看看这个:http://stackoverflow.com/questions/18716674/facebook-login-in-google-cloud-endpoints/22495862#22495862 – 2014-04-03 16:04:14

回答

5

不,我遇到了其他人询问此问题以及谷歌人(如果我没记错的话)是端点用户身份验证目前仅支持Google帐户。

+0

有没有一种方法来实现替代?就像在会话中存储用户一样? (我刚刚发现该会话在Google Cloud Endpoint中也不起作用) – 2013-04-08 15:41:06

+1

当然,您可以实现您想要的任何替代方法,并且可以通过端点传递系统的令牌,但是您必须自己实施身份验证。 – Tom 2013-04-08 15:51:41

+1

这里的问题是如何控制用户会话,因为Google Endpoint没有提供会话,对吗? – 2013-04-08 16:32:25

7

你必须实现自己的Authenticator和更新@Api配置。在此基础上answer一个简单的认证会是这样的:

public class MyAuthenticator implements Authenticator { 

    @Override 
    public User authenticate(HttpServletRequest request) { 
     String token = request.getHeader("Authorization"); 
     if (token != null) { 
      // apply your Facebook/Twitter/OAuth2 authentication 
      String user = authenticate(token); 
      if (user != null) { 
       return new User(user); 
      } 
     } 
     return null; 
    } 
} 

而且你的API定义

@Api(name = "example", authenticators = {MyAuthenticator.class}) 

更多您可以在Google documentation找到自定义验证器。

+0

是否有python等价物? – 2015-04-30 09:23:31

+0

@JanuszSkonieczny我不知道它是否可用于python,你应该问一个关于SO – tomrozb 2015-05-02 11:04:54

+0

的新问题任何人都知道如何把数据放在android客户端的头文件中? – myfknoll 2015-06-11 20:09:50

相关问题