OpenId + 记住我/保持登录状态

2024-03-18

我有一个问题,关于如何/什么是使用 OpenId 并提供保持登录状态的最佳方法。

例如,如果我查看 Stackoverflow,我已经使用 Google 登录,如果我关闭浏览器并返回,它仍然显示我已登录。

However,我没有登录谷歌,而且我已经登录了removedstackoverflow 从有权访问您的 Google 帐户的授权服务列表中。我天真地期望 stackoverflow 会提示我再次登录,但事实并非如此。

所以我的问题是,关于 OpenId 和跨会话记住经过身份验证的用户的最佳实践是什么?


OpenID 仍然很新,一些依赖方正在尝试新的、不同的方法来实施 OpenID。有一项工作正在进行中依赖方最佳实践文件 http://wiki.openid.net/Relying-Party-Best-Practices由 OpenID 基金会主办。特别是,他们解决了 cookie 和会话长度的问题最后一节 http://wiki.openid.net/Relying-Party-Best-Practices#StoreprimaryOpenIDinacookieandcheckimmediateatnextsession。使用持久的 Claimed_id cookie 而不是持久的会话 cookie 绝对是一个有趣的想法,以使用户的生活更轻松 - 他们只需退出他们的 OP 并关闭浏览器。

就我个人而言,我发现您在 StackOverflow 上描述的行为非常自然。如果 OpenID 不适用,并且您使用持久 cookie(一种非常常见的情况)在两台不同的计算机上登录了用户名/密码网站,并且您在其中一台计算机上更改了密码,那么如果另一台计算机上的密码被更改,我也不会感到惊讶电脑仍然让我登录。你could称其为安全漏洞,但这仍然是正常做法。事实上,这很正常,Gmail 最近在您的收件箱屏幕底部添加了一个显示,告诉您您在其他位置登录,并让您有机会使他们的会话 cookie 失效。

我建议任何 RP 都可以采取类似的方法,无论身份验证方法如何。这可能会减轻您的安全担忧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenId + 记住我/保持登录状态 的相关文章

  • 在 Express 中设置客户端可访问 Cookie

    我正在开发一个使用 Express 和 SocketIO 的 Node 应用程序 我想在我的 Express 控制器中设置一个 cookie 然后可以从我的客户端 Javascript 代码访问该 cookie 我尝试的一切似乎都不起作用
  • 将 Jabber/XMPP 与其他系统集成(身份验证、密码共享)

    是否可以指示 jabber xmpp 服务器将身份验证委托给另一个模块 我们正在使用 XMPP 构建一个内部应用程序 如果我们能让用户保留他们在我们的 Web 应用程序中使用的标准用户名 密码 那就太好了 网络应用程序当前正在对密码进行哈希
  • Cookie 在 MAC -Safari 和 IOS 移动版 - Safari 中不起作用

    我正在创建一个模型 序列化并分配到 cookie 中并将其传递到下一页 我可以在所有浏览器的下一页中获取 cookie 值 除了 MAC 优胜美地 Safari IOS IPHONE 6 手机 Safari 我是否需要更新以下代码才能在 S
  • 如何在.net中集成OpenId功能

    寻找在 net 中集成 OpenId 功能的教程 我有一种感觉 这谷歌代码项目 http code google com p dotnetopenid 将是一个很好的起点 我自己不久前才开始研究它 没有太多时间深入研究 但对于那些不想花太多
  • Windows 身份验证到底如何工作? web.config 似乎不够

    正在尝试修复 Windows 身份验证 目标 Windows 身份验证 使用 Firefox 时 应出现登录对话框 而使用 Internet Explorer 时 Windows 用户名和密码应自动转到 Web 服务器 我使用空模板建立了一
  • 使用 SenchaTouch 的简单登录表单

    刚开始研究 SenchaTouch 这看起来很有前途 我正在构建我的第一个应用程序 一个简单的登录表单检查源http pastebin com 8Zddr9cj http pastebin com 8Zddr9cj 我正在寻找一种方法来执行
  • 在 Django Admin 中隐藏 Auth 部分 [重复]

    这个问题在这里已经有答案了 在 Django 管理中 有什么方法可以隐藏 Auth 部分吗 假设这是 Django 和准系统项目的全新安装 没有应用程序 只有管理员 您可以使用admin site unregister from djang
  • 在 keycloak 令牌中使用“sub”声明作为内部数据库中的用户 ID 是否安全

    我正在开发一个将来可能支持社交登录的应用程序 除了我们自己的 keycloak 用户名 电子邮件注册之外 我正在尝试确定使用 keycloak ID 令牌中的 sub 声明作为我们内部 mongo 数据库中用户的主键 id 字段 是否安全
  • 如何在没有 (L)GPL 库的情况下在 Python 中创建双重身份验证 HTTPS 客户端?

    客户端和服务器都是内部的 各自都有一个由内部CA签名的证书和CA证书 我需要客户端根据服务器拥有的 CA 证书来验证服务器的证书 它还应该将其证书发送到服务器进行身份验证 The urllib2手册说不执行服务器身份验证 PycURL是一个
  • 如何使用 bcrypt 模块使用 NestJS 在 MongoDB 中保存加密密码

    如何将加密密码保存到 MongoDB 附 我是一名初学者开发人员 仍在学习如何使用 NestJS 如果您使用 TypeOrm 则有一个装饰器名称 插入之前 Entity YourTable schema yourdb export clas
  • 为移动应用程序创建 API - 身份验证和授权

    Overview 我正在寻找为我的应用程序创建一个 REST API 最初 主要目的是供移动应用程序 iPhone Android Symbian 等 使用 我一直在研究基于 Web 的 API 的身份验证和授权的不同机制 通过研究其他实现
  • 在 Safari 上,通过重定向发送时不会保存 cookie

    我已经实现了一个 OAuth2 客户端 其中第一步是将用户发送到相关的第 3 方 本例中为 facebook 我为他们设置了一个状态 cookie 当他们从 facebook 返回时 我验证该状态 cookie 在 Chrome 中 一切都
  • 是否有管理 __utma、__utmz 等 cookie 的标准?

    无论我登录 Facebook 还是 Twitter 我都会受到以下名称的 cookie 轰炸 utma utmb utmc utmv 它们的功能是什么 是否有一个标准来管理这些在服务器端的使用方式 这些 cookie 通常与谷歌分析 htt
  • Ember 数据保存方法,创建与更新

    我不明白 Ember 如何确定是否应该更新或创建记录 我认为它是基于 ID 或商店条目 但它似乎是其他东西 代码示例阐明了 this returns the user without making an api call currentUs
  • gwt rpc 中的会话 ID cookie

    假设我正在滚动自己的会话代码 那么在 java 中生成唯一且安全的会话 id cookie 的正确方法是什么 我不应该自己推出而是使用已经标准化的东西吗 我正在使用 gwt 和 google app engine 平台 如何使会话在浏览器
  • Rails 渲染 JSON - 会话丢失?

    我正在尝试对控制器进行一些 Ajax 调用 该控制器以 JSON 进行响应 if session user render json gt Some Data else render json gt You are not logged in
  • 检查Cookie是否存在

    从快速搜索开始堆栈溢出我看到有人建议使用以下方法来检查 cookie 是否存在 HttpContext Current Response Cookies cookie name null 或 在一个Page class this Respo
  • 使用 jquery 通配符检查 cookie 名称

    我有一个生成动态 cookie 的表单 例如 webform 62 1234356 62 1234356 可以是任意数字 我需要使用一些通配符检查来检查名称以 webform 开头的 cookie 是否存在 下面不起作用 if cookie
  • 以编程方式使用 Stack Overflow 进行身份验证

    我想在我的 iPhone 应用程序中添加赞成和反对投票 MyStacks http itunes apple com gb app mystacks id360030953 mt 8 为此 我需要能够使用 Stack Overflow 对用
  • 使用 Vaadin Flow Web 应用程序处理全局所有布局和“路由”URL 的登录

    Vaadin 8 在 Vaadin 8 中 在我的UI子类我通过检查用户的会话是否带有一个属性来处理登录 该属性表明他们是否已成功登录 如果没有的话 我的UI子类显示登录布局 而不是带有导航选项的其他内容 例如菜单栏和在该 UI 内切换布局

随机推荐

  • 更改数组适配器中列表项的文本颜色

    我创建一个列表视图并在自定义对话框中实现该列表视图 该列表视图使用数组适配器 在我的数组适配器中 我使用自己的布局和所需的颜色 代码如下 listView new ListView context ArrayAdapter
  • PHP Printf 作为浮点精度

    我正在尝试使用 PHPprintf功能打印出用户的存储容量 完整的公式看起来像这样 echo printf 02f size 1024 1024 GB 鉴于 size 10 1024 1024 这应该打印出来 10 00 GB 但事实并非如
  • 读取 byte[] 历史队列

    我正在尝试编写一个我知道数组大小的字节数组 但是我无法解析结果数据 我正在使用以下代码 okAppender writeBytes b gt b write byteData and byte byteData new byte 500 o
  • 如何在phpmyadmin中导入大型sql文件

    我想导入一个大约 12 mb 的 sql 文件 但它在加载时引起问题 有没有办法在不分割sql文件的情况下上传它 尝试根据您的操作系统的口味从 mysql 控制台导入它 mysql u DB USER NAME p DB NAME lt d
  • Spring Boot:禁用特定 URL 的客户端身份验证

    我的配置中有以下配置application yml server address port 8443 sessionTimeout 30 ssl client auth need key store keyStore jks key sto
  • Xamarin iOS 通用链接支持 Twitter 身份验证

    所以 现在 Twitter 从 9 月 25 日开始支持通用链接 这意味着当 UIWebView 命中时https twitter com oauth authorize oauth token https twitter com oaut
  • 仅根据字段名称对类数组进行排序

    我有一个应用程序 用户向我提供字段名称 例如name or costInCents 我必须按该字段排序 我有办法保证字段名称是正确的 这个应用程序导致了我根本无法上课的复杂情况Comparable并实施具体的compareTo 因为自定义实
  • 为用户定义类型实现 ToOwned

    考虑以下示例代码 derive Clone struct DataRef lt a gt text a str derive Clone struct DataOwned text String 我要实施ToOwned for DataRe
  • 如何让 iPhone 应用程序用户提交崩溃报告? [复制]

    这个问题在这里已经有答案了 可能的重复 iPhone如何获取客户的崩溃日志 https stackoverflow com questions 3844482 iphone how to get crash log from custome
  • 在 JavaScript 中,当完成通过 new ActiveXObject 创建的对象后,我是否需要将其设置为 null?

    在 WSH 中运行并创建对象 例如 Scripting FileSystemObject 或任何任意 COM 对象 的 Javascript 程序中 完成后是否需要将变量设置为 null 例如 我建议这样做 var fso new Acti
  • 如何将开始按钮放在剪辑的中间

    我在以下位置找到了设计师页面http www videojs com http www videojs com 在那里 您可以将开始按钮的位置更改为剪辑的中间 但我无法在 video js 播放器上放置或使用此样式表 有人可以解释一下如何在
  • C++ 中获取用户输入未执行/跳过的代码

    在下面的代码中 当我尝试让用户输入他们的名字时遇到错误 我的程序只是跳过它并直接进行函数调用 而不允许用户输入他们的名字 尽管出现错误 我的程序仍在编译 我不确定出了什么问题 因为我是根据在这里找到的其他示例编写该部分的 有什么建议么 in
  • 使用 Moneta (JavaMoney) JSR 354 实现自定义货币金额格式

    我真的很困惑如何定制MonetaryAmountFormat使用 Moneta JSR 354 实现 我的目的是能够解析两者1 23 and 3 45 as MonetaryAmounts 这是我的单元测试 Test public void
  • 从 WidgetKit 小部件扩展检测应用程序启动

    点击 WidgetKit 小部件会自动启动其父应用程序 如何检测我的应用程序是否是从其 WidgetKit 小部件扩展启动的 我无法找到任何有关在应用程序中捕获此内容的文档AppDelegate and or SceneDelegate 要
  • 如何使用参数和 POST 方法重定向到外部 url?

    我想在提交到 Flask 中的操作 url 之前保存表单数据
  • 如何在android中打开图库中的一个特定文件夹?

    我使用下面的代码打开 Android 默认图库应用程序 它会打开 sdcard 下的所有图像文件夹 如何只打开一个特定文件夹 Intent intent new Intent Intent ACTION PICK android provi
  • 除非作为参数传入,否则无法添加快速路线

    我正在尝试创建映射其自己的路线的节点模块 我在下面提供了一个简化的示例 删除了返回的对象中映射的所有其他函数以及任何代码以简化示例 我最初的尝试是这样做 文件 web core js function initRoutes app var
  • 具有不同 uv 坐标的 OpenGL ES 1 多重纹理

    我需要使用多重纹理渲染一个对象 但两个纹理对于同一对象具有不同的 uv 坐标 一张是法线贴图 另一张是光照贴图 请提供与此相关的任何有用材料 在 OpenGL ES 2 中 无论如何你都会使用着色器 因此 您可以完全自由地使用您喜欢的任何纹
  • 为 RDBMS(MySQL 数据库)创建 SPARQL 端点的最佳方法

    我正在 想做 一些链接开放数据集的实验 特别是政府推出的实验 我有一个 RDBMS 更具体地说是 MySQL 我设计它时考虑了语义网络的想法 即我将信息存储为对象 谓词和定义对象的类 反过来 所有对象通过主语 gt 谓词 gt 宾语形式的语
  • OpenId + 记住我/保持登录状态

    我有一个问题 关于如何 什么是使用 OpenId 并提供保持登录状态的最佳方法 例如 如果我查看 Stackoverflow 我已经使用 Google 登录 如果我关闭浏览器并返回 它仍然显示我已登录 However 我没有登录谷歌 而且我