Lis*_*nne -4 android single-sign-on
我想在Android上实现单点登录.
我有一组移动应用程序需要与服务器通信才能识别用户.
当其中一个应用程序被识别为属于用户时,其他应用程序应该能够检测到该应用程序,而无需要求用户进一步识别.
因此,用户基本上只登录一个应用程序,所有其他应用程序将自动跟踪.
请问我怎么能做到这一点?
您可以使用登录的中央应用程序,并将其作为其他应用程序的服务进行调用.登录管理应用程序应具有标记有特定于应用程序的权限的服务(请参阅https://developer.android.com/guide/topics/manifest/permission-element.html),并应将该android:protectionLevel属性设置为signature; 例如在你的android清单中:
<permission android:name="com.example.SSO_ACCESS"
android:protectionLevel="signature" />
Run Code Online (Sandbox Code Playgroud)
还有你的Android清单:
<service android:enabled="true"
android:exported="true"
android:name=".SingleSignOnService"
android:permission="com.example.SSO_ACCESS" >
. . .
</service>
Run Code Online (Sandbox Code Playgroud)
这将允许您创建的应用程序与登录应用程序的服务进行通信,但其他应用程序将无法进行通信.
您应该使用标准的Android服务技术与服务进行通信(使用bindService()适当的意图绑定到服务- 您需要在清单中为服务使用适当的意图过滤器) - 有关此信息,请参阅Android 服务指南.
| 归档时间: |
|
| 查看次数: |
7689 次 |
| 最近记录: |