gpt4 book ai didi

使用网络服务的Android APP如何对用户进行身份验证

转载 作者:太空宇宙 更新时间:2023-11-03 12:01:10 27 4
gpt4 key购买 nike

我正在开发一个 Android 应用程序,它使用我也将开发的网络服务(我正在考虑使用 RESTFul 网络服务)。我想保护应用程序和服务器之间的连接,但我也需要对用户进行身份验证..

我的问题在最后一部分,为了保护连接,我认为最好的方法是使用 SSL (https),​​我错了吗?

我不知道验证用户身份的“最佳方式”是什么,以确保一个用户不能像另一个用户一样使用网络服务。我有一些想法,比如在返回 token 的 web 服务上使用 authenticate(login,pass) 方法。对于任何需要身份验证的操作,用户都需要将该 token 作为参数传递。事情是这样的这样做的好方法?在这种情况下,用于对用户进行身份验证的最常用技术是什么?

如果基于 token 的身份验证是个好主意,我应该如何生成 token ?

抱歉这么长的文字..

任何帮助都是有用的

谢谢

最佳答案

在您走这条路之前,请确保您了解像 OAuth 这样的流行标准。大多数 OAuth 流程都以用户通过 Web 浏览器登录到您的服务器为中心。这可能会导致移动应用程序的用户体验非常糟糕。该标准确实允许替代方案。这是 a decent introduction .

您还可以使用现有的身份提供商,如 Google、Facebook、Twitter 等,而不是实现您自己的 authN/authZ。在 Android 上,您可以使用 AccountManager 请求 Google 身份验证 token 。 .这通常有效,因为用户需要登录到他们的 Google 帐户才能访问 Android Market。无论如何,这将提示用户向您的应用授予授权。然后,您可以使用 Google 身份验证 token 让您的用户使用您自己的 token 登录到您的服务。登录本质上是您的服务器验证 Google token 是否有效(通过联系 Google 的服务器),然后发布自己的 token 以用于调用您的网络服务。如果你不喜欢谷歌,你可以使用 Facebook SDK

至于 token 使用什么……OAuth 规范也有相关内容。您可以做一些像随机字符串一样简单的事情,也可以做一些像加密的 SAML assertions 这样复杂的事情。 .

关于使用网络服务的Android APP如何对用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086746/

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