gpt4 book ai didi

java - 如何使用 Google Cloud EndPoints(java) 在 Android/IOS 应用程序中使用基本身份验证

转载 作者:行者123 更新时间:2023-11-29 01:29:11 25 4
gpt4 key购买 nike

我正在尝试为我的 IOS 应用程序使用 Google End Points(Java),我不想使用 Oauth2.0,因为它强制用户拥有 google 帐户,这对应用程序不利。如何通过 Google 端点使用基本身份验证(如(用户名和密码))。以及用户登录后,如何通过在服务器和客户端应用程序之间共享身份验证 token 来基本上授权每个请求。

最佳答案

服务器端非常简单:

@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。我不能在客户方面帮助你太多,因为我不了解 Objective C。下面的 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');

}
});

};

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

关于java - 如何使用 Google Cloud EndPoints(java) 在 Android/IOS 应用程序中使用基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33635303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com