我正在我的应用中实现登录身份验证。目前我正在使用IOC接口将电子邮件和密码存储在设备存储中(它使用Android中的SharedPreferences和iOS中的NSUserDefault类)。当我进入登录屏幕时,我必须输入我的电子邮件和密码,然后将该数据发送到服务器API。服务器响应是一个身份验证令牌,在请求“Set-Cookie”标头中设置。我必须在每次向服务器API发出的请求中设置此身份验证令牌。令牌在一定时间后到期,该值也出现在请求标头中。基本上一切都工作正常,但问题是,正如我们所知,在SharedPreferences / NSUserDefaults中保存用户电子邮件和密码等敏感数据并不是一个好主意。所以我想知道我是否可以使用Xamarin.Auth实现这一目标。 AFAIK Xamarin.Auth仅适用于Facebook,Google,OAuth等身份提供商。
这可能吗?我可以使用Xamarin.Auth安全地保存这些值吗?
答案 0 :(得分:1)
这绝对有用,请看GitHub repository of Xamarin.Auth。
"getting started" page表示您可以轻松扩展/自定义Xamarin.Auth以使用您的终端:
Xamarin.Auth包含OAuth 1.0和OAuth 2.0身份验证器, 为数千种流行服务提供支持。对于那些服务 使用传统的用户名/密码验证,你可以滚动你的 通过从FormAuthenticator派生自己的身份验证器。
如果您要对表面上不受支持的服务进行身份验证, 不要害怕 - Xamarin.Auth是可扩展的!创建你的很容易 自己的身份验证器 - 只是从任何现有的 验证者并开始重写方法。