安卓鉴权方式的总结

HTTP Basic Authentication

这种授权方式是浏览器遵守http协议实现的基本授权方式,HTTP协议进行通信的过程中,HTTP协议定义了基本认证认证允许HTTP服务器对客户端进行用户身份证的方法。 效果: 客户端未未认证的时候,会弹出用户名密码输入框,这个时候请求时属于pending状态,这个时候其实服务当用户输入用户名密码的时候客户端会再次发送带 Authentication头的请求。

二、session-cookie

利用服务器端的session(会话)和浏览器端的cookie来实现前后端的认证,由于http请求时是无状态的,服务器正常情况下是不知道当前请求之前有没有来过, 这个时候我们如果要记录状态,就需要在服务器端创建一个会话(session),将同一个客户端的请求都维护在各自的会话中,每当请求到达服务器端的时候, 先去查一下该客户端有没有在服务器端创建session,如果有则已经认证成功了,否则就没有认证。

三、Token 验证

使用基于 Token 的身份验证方法,大概的流程是这样的:

  • 1、客户端使用用户名跟密码请求登录

  • 2、服务端收到请求,去验证用户名与密码

  • 3、验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端

  • 4、客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里

  • 5、客户端每次向服务端请求资源的时候需要带着服务端签发的 Token

  • 6、服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

但是静态token和动态token的方向是不一样的,静态的token

安卓额外的鉴权方式:

四,OAuth:

  1. OAuth是一种开放授权协议,它可以允许用户授权第三方应用程序访问其受保护的资源。在OAuth中,用户可以选择授权某个应用程序访问其资源,而无需将其用户名和密码直接提供给该应用程序。

OAuth协议的工作原理类似于使用微信登录、支付宝登录等第三方登录方式。OAuth协议允许用户授权某个应用程序访问其受保护的资源,而无需将其用户名和密码直接提供给该应用程序。这种方式可以增强用户的安全性和隐私保护,并且可以避免用户在多个应用程序之间重复注册和登录的麻烦。

在使用微信登录、支付宝登录等第三方登录方式时,用户通常需要将其微信、支付宝等第三方账号与其目标应用程序进行关联,然后在目标应用程序中点击登录按钮,跳转到微信、支付宝等第三方登录页面进行身份验证。如果身份验证通过,第三方登录页面会生成一个访问令牌(Access Token),然后将该访问令牌返回给目标应用程序,目标应用程序可以使用该访问令牌来访问用户授权的资源。

OAuth协议的工作原理也类似,应用程序需要先向OAuth认证服务器进行注册,并获取客户端ID和客户端密钥。然后,在用户需要访问资源时,应用程序会将用户重定向到OAuth认证服务器,并请求用户授权。如果用户同意授权,OAuth认证服务器会生成一个访问令牌,然后将该访问令牌返回给应用程序。应用程序可以使用该访问令牌来访问用户授权的资源。

需要注意的是,OAuth协议是一种开放标准,可以应用于多种场景中,包括Web应用程序、移动应用程序等。在使用OAuth协议时,应用程序需要仔细考虑安全性和隐私保护等问题,以确保用户的安全和隐私不受侵犯

五,SAML:Security Assertion Markup Language(SAML)

SAML是一种用于跨域身份验证和授权的开放标准,它通常被用于企业应用程序中的单点登录(SSO)解决方案。SAML协议的工作原理是将身份验证和授权的数据从身份提供者(Identity Provider,简称IdP)传输到服务提供者(Service Provider,简称SP)。

在使用SAML协议进行身份验证时,用户首先访问SP,SP会将用户重定向到IdP进行身份验证。IdP会要求用户提供其身份验证凭据,例如用户名和密码,然后验证该凭据的有效性。如果身份验证成功,IdP会生成一个SAML响应,其中包含有关用户身份验证和授权的信息,例如用户ID、姓名、电子邮件地址、授权信息等等。该SAML响应会被发送回SP,并由SP进行处理,以确定用户是否被授权访问其所请求的资源。

在企业应用程序中,SAML协议可以用于实现单点登录,从而允许用户使用其企业账号登录不同的应用程序,例如阿里云、G Suite等。企业管理员可以使用SAML协议来配置其企业账号作为IdP,然后将其分支账号配置为SP,从而实现分支账号的管理和授权。

需要注意的是,SAML协议是一种开放标准,可以应用于多种场景中,包括企业应用程序、政府应用程序、教育应用程序等。在使用SAML协议时,应用程序需要仔细考虑安全性和隐私保护等问题,以确保用户的安全和隐私不受侵犯。

六,Biometric Authentication:

生物识别鉴权是一种使用人体生物特征进行身份验证的方法,例如指纹、面部识别、虹膜识别等等。在安卓系统中,可以使用指纹或面部识别等生物特征来进行身份验证。

安卓的生物识别鉴权是一种使用人体生物特征进行身份验证的方法,包括指纹识别、面部识别、虹膜识别等等。在安卓系统中,可以使用以下步骤来实现生物识别鉴权:

  1. 获取生物识别硬件支持:在安卓系统中,可以使用FingerprintManager或BiometricPrompt API来支持生物识别硬件的使用。开发人员需要检查设备是否支持生物识别功能,并通过API与生物识别硬件进行通信。

  2. 收集生物识别数据:在进行生物识别鉴权之前,需要先收集用户的生物识别数据,例如指纹、面部、虹膜等。在安卓系统中,可以使用FingerprintManager或BiometricPrompt API来收集生物识别数据,并将其保存在设备中。

  3. 进行生物识别鉴权:在进行生物识别鉴权时,开发人员需要调用FingerprintManager或BiometricPrompt API来与生物识别硬件进行通信,并进行生物识别验证。如果生物识别验证成功,则用户被授权访问受保护的资源。

需要注意的是,生物识别鉴权对于保护用户隐私和保证系统安全至关重要,因此在设计和实现生物识别鉴权过程时,应该遵循安全原则和最佳实践,保证鉴权过程的安全性和有效性。同时,生物识别鉴权的使用应该考虑到用户体验和设备兼容性等方面的因素,以确保鉴权过程的友好性和通用性。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值