fnk*_*kbz 7 java authentication android cas single-sign-on
我知道CAS是网络的单点登录协议.其目的是允许用户访问多个应用程序,同时仅提供一次凭据(例如用户ID和密码).它还允许Web应用程序对用户进行身份验证,而无需访问用户的安全凭据(如密码).
那么,我怎样才能将Jasig CAS服务器用于Android移动应用程序?一些指导方针非常有用!
实际上有两种方法可以做到这一点,每种方法都有一些缺点.
1)公开REST接口(在这里你会发现一个简单的JAVA客户端,它会消耗它们,iOS示例如何在移动设备上使用它)
这里的问题是,如果有人从商店下载您的应用程序并检查其中的网络流量(或简单地分解它),他将找到您拨打的电话.有了这个,他可以创建一个与你相同的APP,并记录用户输入的密码(如中间人攻击)
2)在APP内的Web视图中打开真实网站
您需要在CAS服务器上创建模型登录页面或响应式登录页面,以使其看起来不错.显然,即使有人在这里可以将您的应用程序和网站理论上复制你的CAS假都看起来像你的APP抢的用户名和密码,并在后台发送到您的CAS给用户的印象是,一切都正确的,但它是非常更复杂.但即使在这里你也需要调整CAS; CAS旨在接受成功登录后将重定向的服务的登录.因此,在这种情况下,您需要向CAS配置添加虚假服务,并检查webview是否会重定向到它.当发生这种情况时,你会在CASTGC cookie中找到TGT.
在我们的第一个Apps,我们使用REST版本,但后来因为我们使用CAS的网站太多,我们要限制的REST访问只在工厂的其他服务器,所以我们想出了这似乎更适合第二种方案,但整体CAS似乎没有为手机APP做好准备