开发者社区 问答 正文

退出钉钉时,钉钉浏览器会将cookies清除,无法保持登录态

如题,本司内部平台需要在钉钉移动端保持登录态。

已在设置cookies时,设置了过期时间,且微信等其他浏览器已正常,但测试测出来钉钉这边的登录态保持无效。

然后我这边简易地测了一下,发现我登录过网页,然后退出钉钉,再进入钉钉点开链接,还是需要登录,登录态没有保存下来,也就是说cookies是被清掉了。

想问下各位大佬,钉钉是不是会在退出应用时清除内部浏览器的cookies。如果是的话,这又要怎么解决,或者改换什么方案才能实现登录态的保存?

谢谢各位大佬解答!

展开
收起
游客4x2izkypnynm4 2022-07-03 19:11:07 1739 分享 版权
阿里云 AI 助理回答
  1. 问题背景: 您希望在钉钉移动端保持内部平台的登录状态,通过设置cookies并指定过期时间来实现。然而,尽管在其他浏览器如微信中此方法能正常维持登录态,但在钉钉内使用时,一旦退出应用再重新进入,之前设置的cookies似乎被清除,导致用户需要重新登录。

  2. 分析与解答

    • 钉钉行为说明:钉钉确实有可能在应用退出时清理其内部浏览器的cookies,以保护用户隐私和数据安全。这符合多数应用程序对于会话管理的安全实践,确保用户信息不因长时间后台运行或应用重启而泄露。

    • 解决方案探讨

      • 方案一:钉钉OAuth认证集成
        考虑将您的内部平台与钉钉进行OAuth2.0授权登录集成。这样,用户通过钉钉账号登录后,钉钉会处理用户的认证过程,并在每次访问应用时通过Token验证身份,而非依赖于cookies。这种方式可以有效避免因cookies被清理而导致的登录态丢失问题。

      • 方案二:单点登录(SSO)配置
        如果您的内部平台支持SAML、OIDC等标准协议,可以通过配置钉钉作为身份提供方,实现与内部平台的单点登录。这样,用户只需在钉钉内一次登录,即可无缝访问所有授权应用,无需担心登录态丢失。

      • 方案三:钉钉微应用开发与免登功能
        开发一个钉钉微应用,并利用钉钉提供的免登(DingTalk Login Kit)功能。该功能允许用户在钉钉内直接扫码登录,由钉钉处理用户身份验证,从而绕过了浏览器cookies的限制,保证了登录态的持续性。

  3. 实施步骤简述

    • 对于方案一(OAuth),您需在钉钉开放平台上创建企业内部应用,获取AppKey和AppSecret,然后在您的平台端集成钉钉OAuth认证流程。
    • 方案二(SSO)要求您在IDaaS中配置钉钉为身份提供方,并在您的应用侧完成相应的SAML/OIDC配置。
    • 方案三(微应用+免登),则需创建钉钉微应用,配置重定向URL,发布应用,并在应用内调用钉钉SDK实现免登逻辑。
  4. 注意事项

    • 安全性:在集成过程中,确保遵循最佳安全实践,保护用户数据和隐私。
    • 用户体验:优化登录流程,确保用户操作简便快捷,提升整体体验。
    • 兼容性测试:在不同版本的钉钉客户端上进行充分测试,确保功能稳定可用。

综上所述,通过集成钉钉的认证体系或采用微应用免登方案,可以有效解决您目前遇到的登录态保持问题,同时提升应用的安全性和用户体验。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答