java - 连接到 WCF 服务的 Android 应用程序的身份验证(本地环境)
问题描述
我正在开发一个使用 WCF 服务(通过 HTTPS)的 Android 应用程序。一切都在本地托管,该应用程序不能用于外部网络。对于身份验证,我使用内部用户名-密码对实现了自己的身份验证系统,但安全性不高。
我希望我的 WCF 服务能够使用 AD 帐户对 Android 客户端应用程序进行身份验证,最好是基于令牌。您对 WCF 服务和 Android 应用程序有什么建议?我并不期待完整的代码,而是服务器端 (WCF) 和客户端 (Android 应用程序) 的一些方向。
预先感谢您的建议。
PS:貌似介绍“嗨,早上好……”被自动删除了……
解决方案
我建议您使用“客户端证书”进行身份验证。
基本上,您的 android 应用程序需要具有由证书颁发机构生成的“客户端证书”——如果您有 AD,则应该在您的公司中。
您可能会喜欢此解决方案,因为您可以使用 IIS 客户端证书映射 - 它将您的客户端证书映射到您的 AD 帐户。
缺点? 您需要向您的手机提供“客户证书”。
这可以实现:
- 通过设备管理系统 - eq "Android for Work"
- 通过邮寄 :)
这并不容易 - 但肯定比自定义用户/通行证更安全。
Android 和客户端证书 https://blogs.msdn.microsoft.com/asiatech/2016/08/22/how-to-create-an-iis-website-that-requires-client-certificate-using-self-signed-证书/
推荐阅读
- javascript - 仅发布请求发布 [object Object]
- c - 使用 cgo 构建共享对象时导出变量
- dart - Flutter 侧抽屉作为一个小部件
- java - 通过搜索子值firebase android获取列表中的uid
- wpf - 基于单元格的DataGrid行背景包含值WPF
- javascript - 错误:不再支持 Buffer.write(string, encoding, offset[, length])
- git - SSH : git 特殊存储库
- javascript - 如何找到 unicode 组合?
- javascript - TypeError: Object(...) 不是 react-redux 中的函数
- css - 具有绝对位置的居中子级与具有显示 flex 的父级