实施令牌认证

2024-06-19

在我的网页中实施令牌身份验证必须遵循哪些步骤?

任何摘要或链接将不胜感激。

我想实现类似于 Facebook 或 Google 的功能,首次客户端登录并接收令牌,然后在下一步操作中使用它。 我还阅读了有关 OAuth 的内容,但我不想让第三方访问我的应用程序。


感谢您的长篇回复,对我来说很明显我需要阅读更多相关内容。

我想要的是了解实现使用令牌身份验证的基本 Web 应用程序的“步骤”。即用户登录一次,然后可以进行一些操作:添加内容、编辑等。

我知道我所说的类似于会话,其中服务器在 HTML 标头上添加 SESSION_ID,随后的请求将被识别并与该会话关联。我阅读会话的方式不好扩展,所以我想在使用 OAuth 之前实现一个类似的系统,例如 gmail 或 facebook。也许我正在谈论类似于 oauth 的东西(我没有深入阅读),但 witj 是两足的而不是三足的。


您应该考虑您的需求,选择合适的协议和实现它的一些不错的软件。

如果没有更多细节,真的很难说更多:

  • 您是在谈论一个还是多个 Web 应用程序的身份验证?您需要在不同的 Web 应用程序之间进行单点登录吗?
  • 所有用户数据是否都存储在您的服务器上,或者用户是否能够登录,例如用谷歌帐户?
  • 令牌应该包含有关用户的信息吗?
  • 您的应用程序是在什么平台上开发的?
  • 应该使用什么身份验证方法?
  • 你想实现一个门户吗?

有各种各样的协议和工具,它们可能适合也可能不适合您的要求:

http://en.wikipedia.org/wiki/Category:Authentication_methods http://en.wikipedia.org/wiki/Category:Authentication_methods

http://en.wikipedia.org/wiki/Category:Identity_management_systems http://en.wikipedia.org/wiki/Category:Identity_management_systems

我个人比较喜欢CAS(http://www.jasig.org/cas http://www.jasig.org/cas)用于多个 Web 应用程序之间基于令牌的 SSO。它基于 Java,但也有一些对 PHP 和 .Net 的支持。

如果您想让用户使用 Google、Yahoo 或任何帐户(可配置...)登录并且不想自己存储用户信息,OpenID 就很好。

如果您希望为公司 Intranet 应用程序提供集成的 Windows-SSO,那么 Kerberos/SPNEGO 是您的最佳选择。

对于大学申请,SAML/Shibboleth 可能是最好的。在大学之外,它不太受欢迎,可能是因为它是一个相当复杂的协议。

哦,我差点忘了:大多数网络框架/标准都有自己的普通版本的“基于表单的身份验证”。用户进入登录表单时输入其用户名和密码。两者都可以使用或不使用 SSL 传输到 Web/应用程序服务器。服务器根据某种数据库对其进行验证,并向用户提供一个 cookie,每次用户发送请求时都会传输并验证该 cookie。但除了所有这些闪亮的协议之外,这似乎很无聊:-)

在对 Web 身份验证进行任何操作之前,您可能会先思考一下一般的 Web 安全性(http://journal.paul.querna.org/articles/2010/04/11/internet-security-is-a-failure/ http://journal.paul.querna.org/articles/2010/04/11/internet-security-is-a-failure/ http://www.eff.org/files/DefconSSLiverse.pdf http://www.eff.org/files/DefconSSLiverse.pdf)以及您可以采取哪些措施来避免使您的网站情况变得更糟(http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010.pdf http://owasptop10.googlecode.com/files/OWASP%20Top%2010%20-%202010.pdf).

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

实施令牌认证 的相关文章

  • Rails 和 Authlogic:每个用户只允许一个会话?

    有没有办法限制 Ruby on Rails 应用程序中的会话数量 我使用 Authlogic 进行身份验证 我希望每个用户帐户只允许 1 个会话 当同一用户登录另一台计算机时 先前的会话应该过期 失效 我正在考虑将会话数据存储在数据库中 然
  • 如何在会话失效后强制 Jetty 通过 BASIC 身份验证请求凭据?

    我使用 jetty 6 1 22 和 BASIC 身份验证作为我的登录机制 我第一次登录网络应用程序时 浏览器会请求用户名和密码 如果尝试使用 session invalidate 注销 会话将失效 但凭据会被缓存 这意味着 如果我尝试连接
  • 数据库文件和 ASP.NET 登录控件

    我正在尝试 ASP NET 登录控制教程 一切正常 但是 我不知道如何让登录控件使用我自己的数据库 SQL Server 2005 而不是使用它的 mdf 文件 我也不知道这个文件是从哪里创建的 因为它根本没有出现在我的解决方案中 如果我能
  • 自定义用户返回空 get_all_permissions()

    我只是想开始工作Permissions了解这是如何工作的 在外壳中我有空set 结果来自user test get all permissions I see 这个问题 https stackoverflow com questions 2
  • 用户注册错误:没有这样的表:auth_user

    我正在尝试使用 Django 的默认身份验证来处理注册和登录 setting py INSTALLED APPS django contrib admin django contrib auth django contrib content
  • 新站点预计支持哪些知名 OpenID 提供商?

    我计划开发一个支持 OpenID Connect 作为依赖方的 Web 应用程序 以便该应用程序的用户可以使用他选择的身份提供商进行注册和登录 这与每个 Stack Exchange 站点上的 我的登录 使用的技术相同 该应用程序可供服务器
  • 我可以在 psycopg2 中使用 md5 身份验证吗?

    经过两个小时的阅读文档 源代码和帮助线程后 我放弃了 我无法让 psycopg2 使用 md5 字符串进行身份验证 根据this http bytes com topic python answers 42597 psycopg authe
  • 在本地安全存储用于 Web 服务的密码

    我有一个应用程序 通过发送用户名和密码来对第三方 Web 服务进行身份验证 目前 我每次启动应用程序时都会在 winform 上输入密码 但我需要它自动登录 我想比更安全地存储用户名 密码 Dim username as String us
  • AWS Cognito / 从子节点获取用户信息

    我有一个使用 AWS Cognito AWSMobileClient 的工作 iOS 应用程序 用户可以使用 AWSAuthUI 登录和登录 注销 接下来我想做的是 拥有另一个用户的子 例如 7y873ff7 u9h4k 我想从其他用户那里
  • Firebase GAS webapp Google 弹出窗口消失

    我正在尝试升级我的 firebase GAS web 应用程序 之前我有一个弹出窗口 可以让用户使用 Google 登录 我不确定我做错了什么 但我已经升级到新的 firebase 现在正在尝试使用新的代码格式进行相同的登录 发生的情况是
  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • Twitter 登录说明

    我想在 Android 中创建一个 Twitter 应用程序 为此 我想创建一个登录页面并登录到 Twitter 为此 我们需要消费者密钥和消费者密钥 这是什么意思 要创建此登录页面 除了 Twitter 帐户之外 我们还需要其他任何东西吗
  • 使用 Mechanize (Ruby) 进行基本身份验证和表单身份验证

    我正在尝试登录公司内部网上的一个站点 该站点具有基本身份验证弹出对话框和基于表单的身份验证 这是我正在使用的代码 导致 401 gt Net HTTPUnauthorized 错误 require rubygems require mech
  • 在 GraphQL 服务器中实现访问控制的好模式是什么?

    背景 我有一组模型 包括用户和各种其他模型 其中一些模型包含对用户的引用 我公开这些模型 以便通过 GraphQL API 生成的查询Graffiti https github com RisingStack graffiti 由 Mong
  • 使用自定义 AuthenticationScheme 的 Blazor 服务器 cookie 身份验证

    我正在尝试在我的 Blazor 服务器应用程序中构建自定义 cookie 身份验证 只要我像这样使用 DefaultAuthenticateScheme 它就可以工作 builder Services AddAuthentication o
  • Web 和 winforms 的 .Net 身份验证

    我有一个为客户端构建的 ASP NET Web 应用程序 它使用默认的 ASP NET 表单身份验证 他们现在请求一个能够 与 Web 应用程序一起工作的桌面 WinForms 应用程序 我已经创建了 Web 服务来访问他们想要从 Web
  • Facebook API:无法在 Android 上登录

    我正在尝试使用 Facebook API 在 Android 上实现 Facebook 登录 我已经按照方法做了一切Facebook 登录流程 http developers facebook com docs android login
  • 使用 JWT 持有者令牌进行身份验证 Swagger

    我们正在开发具有 JWT Bearer 身份验证的 Net Core 2 1 Web API 应用程序本身将生成并分发将发送到后端的令牌 虽然我们已经一切就绪并正在运行 即我们可以从 Angular 发送不记名令牌并使用 Postman 进
  • 设计没有路由与指定删除的链接中的 [GET]“/users/sign_out”匹配

    因此 我四处寻找解决此问题的方法 大多数人似乎都说了同样的话 但对解决我的问题没有多大作用 我已在链接中指定了删除方法 但路由错误表明这是一个 GET 请求 知道为什么下面的链接最终会覆盖 忽略方法声明吗 Routes devise for
  • 找出用户属于哪些组

    我有一个刚刚创建的 Windows 用户帐户 以 XYZ 为例 此 XYZ 属于我在计算机管理 gt 本地用户和组中创建的用户组和自定义组 因此 在属性中我看到该用户属于 2 个组 现在我想获取这些组并显示它们 有什么建议么 我已经这样做了

随机推荐

  • PHP MYSQL文件内容转义问题

    我正在尝试使用 php 将 pdf 文件上传到 mysql 数据库中 除了文件内容之外 一切都很好 无论我如何尝试转义特殊字符 查询总是失败 主要是 未知命令 n 我使用过addslashes mysql real escape strin
  • 如何使用 PetaPoco 库自动从数据库创建模型?

    我的数据库中有一个表 我想为其创建一个带有 getter 和 setter 的模型类 对于我项目中的大部分任务 我使用 PetaPoco 我手动创建了模型 但很少有表有很多列 有没有办法使用 PetaPoco 从数据库创建模型 我强烈建议您
  • 为什么包含此模块不会覆盖动态生成的方法?

    我试图通过包含一个模块来覆盖动态生成的方法 在下面的示例中 Ripple 关联添加了rows 方法表 我想调用该方法 但之后还要做一些额外的事情 我创建了一个模块来重写该方法 认为该模块的row 可以打电话super使用现有的方法 clas
  • iOS 中的内存泄漏,AVPlayer 永远不会被释放

    我使用了 AVPlayerDemo 示例苹果文档 https developer apple com library ios samplecode AVPlayerDemo Introduction Intro html并在其上编写了我自己
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • 通过 Java 连接 Apache Drill

    在 Apache Drill 的 Wiki 中 我只能看到通过 SqlLine 客户端运行的查询 除了 REST API 之外 是否有任何编程方式可以在 Drill 中运行查询 有任何示例或指示吗 或者它与使用 JDBC 驱动程序运行 SQ
  • 如果遵循 REST 架构,如何访问 codeigniter 中的 URL 参数?

    以下是可用于访问资源的基于 REST 的有效 URL 使用codeigniter 如何访问下面传递的参数1 我在教程中看到了上述内容并设置了我的代码 然而显然 id this gt input gt get id 不起作用 Using th
  • 没有这样的命名空间:clojurescript 项目设置中的 clojure.spec.alpha

    我在尝试学习clojure spec 在沿着启动构建工具设置 clojure 项目时 我在需要 clojure spec alpha 时遇到以下错误 Compiling ClojureScript js app js No such nam
  • 在java中执行外部程序并传递命令

    我有这个国际象棋引擎 Rybka exe 我必须在 java 中执行 以下是如何运行 Rybka 的示例 单击它后 控制台将打开并等待输入 然后你输入 uci 并按 Enter 键并等待它加载 大约 1 秒 然后你必须输入更多行作为选项和内
  • 检测 Java JAR/代码篡改

    我正在编写一个以 JAR 文件形式分发的软件 目前 该 JAR 文件可以被篡改以检索并保存我们的服务器通过以下方式传输的另一个文件URLClassLoader 进行反编译 并在我们的代码中找到应保持私有的各种内容 以确保使用它的客户端的安全
  • Django 检索 GET 列表

    我是 Django 新手 我有一个 URL 列表 例如 example com item test item for test url 我知道如何在视图中检索该值 a request GET getlist item 我的问题是 如何在模板
  • 使用 Flutter 3.10 / Dart 3.0 进行 VS Code 调试<优化>

    在最新的 颤振 升级 之后 我在 VS Code 调试期间查看某些变量时遇到问题 如何在悬停时查看变量的内容而不是获取此内容 Screenshot of hovering variable 这仅发生在某些变量上 其他变量我可以正常查看内容
  • tkinter:无法使框架可滚动

    在 python tkinter 上 我在顶级窗口上使用 2 个不同的框架 一个在右侧 另一个在左侧 右侧的框架不可滚动 我在该框架的框架顶部创建了一个画布 并在该画布顶部创建了另一个框架 我已使该画布可滚动并将小部件粘贴到该画布上 但它不
  • 在iPhone上将CSV文件读入sqlite3

    有没有办法在iPhone上将CSV文件读入sqlite3 sqlite3 是否有类似于 SQL 命令的功能 LOAD DATA LOCAL INFILE file csv INTO TABLE TABLENAME FIELDS TERMIN
  • 将列表数据放入地图时出现异常

    我正在迭代一个列表并将其内容放在地图上 但问题是 当我返回该地图时 我遇到了异常 您能否告知其背后的原因是什么 我收到了 java lang IndexOutOfBoundsException 索引 100 大小 100 因为我的列表大小是
  • 在 swift 3 的 textview 中显示属性文本?

    我想以斜体 粗体显示从服务器收到的文本 你好世界所以 responseObj text p b i hello i b i world gt i p if let postText String responseObj text as St
  • DOM TreeWalker 返回所有文本节点

    我试图访问给定元素内的所有文本节点 以便我可以隔离单词并将它们包装在跨度中 TreeWalker似乎是这项工作的 API 但我发现它非常不直观 既没有spec http www w3 org TR DOM Level 2 Traversal
  • 等待网页完全加载,然后再使用 python 请求进行抓取

    我目前正在尝试从 LinkedIn 上的特定页面抓取数据 我有一个能够登录 LinkedIn 的脚本 但当我尝试访问包含数据的页面时遇到了障碍 当我打电话时requests get data url 我最终得到了 LinkedIn 加载屏幕
  • 我在哪里可以学习游戏物理及其背后的数学基础知识? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我在大学学过数学 三角学 微积分 II 但我不知道为什么在游戏物理中使用 tan arctan 等 我
  • 实施令牌认证

    在我的网页中实施令牌身份验证必须遵循哪些步骤 任何摘要或链接将不胜感激 我想实现类似于 Facebook 或 Google 的功能 首次客户端登录并接收令牌 然后在下一步操作中使用它 我还阅读了有关 OAuth 的内容 但我不想让第三方访问