首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Google (Java)在Android/IOS应用程序中使用基本身份验证

如何使用Google (Java)在Android/IOS应用程序中使用基本身份验证
EN

Stack Overflow用户
提问于 2015-11-10 16:53:15
回答 1查看 86关注 0票数 0

我试图在我的IOS应用程序中使用Google端点(Java),我不想使用Oauth2.0,因为它使用户强制拥有google帐户,这对应用程序是有害的。如何使用基本身份验证,如(用户名和密码)与谷歌端点。在用户登录后,如何通过服务器和客户端应用程序之间共享身份验证令牌来授权每个请求。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-11 18:45:27

服务器端非常简单:

代码语言:javascript
运行
复制
@Entity
public class User {

     @Id private String username;
     private String password;
     /*getters setters ommited*/
}

@Api(name = "userapi", version = "v1", description = "userapi")
public class UserService {

     static{
         ObjectifyService.register( User.class );
     }

     @ApiMethod(name = "create")
     public User createUser(@Named("username") String username,     
                                    @Named("password") String password){
         User user = new User();
         user.setUsername(username);
         user.setPassword(password);
         ofy().save().entity(user);  
         return user;
    }

    @ApiMethod(name = "get")
    public User getUser(@Named("username") String username, 
                                  @Named("password") String password){
           User user = ofy().load().key(Key.create(User.class, 
                                                  username)).now(); 
           return user;
    }
}

向createUser方法发送注册请求,向getUser发送登录请求。我对客户端帮助太大了,因为我不知道目标C。下面的Javascript客户机示例可能会给您一些提示:

代码语言:javascript
运行
复制
var login = function() {
    message = {
        "username" : $scope.username,
        "password" : $scope.password

    };
    console.log(message);

    gapi.client.userapi.get(message).execute(function(user) {
        console.log(user);
        if (!user.code && user.password) {
             //successfully logged in
            console.log('successfully  logged in');

        }
    });

};

关于令牌,有许多选择。您可以生成一些字符串并在成功登录到客户端时返回它,并将其保存到带有用户对象的数据存储中。或者您可以连接用户名:密码和编码字符串与base64,并使用结果字符串作为auth_token。在最后一种情况下,您不需要将其保存到数据存储。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33635303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档