首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何正确集成社交登录

这通常涉及将一个库插入应用程序中,然后编写几行代码将用户重定向到诸如 Google 或 Facebook 之类的 Provider ,之后令牌将返回到应用程序: 与旧的网站架构相比,这似乎一个更有吸引力的选项...在 OpenID Connect 中,ID 令牌代表认证事件的证明,并通知客户端应用程序认证如何以及何时发生的。它应该由客户端存储,不应发送到任何远程端点。它不是用于 API 中的授权。...其他组织颁发的外部令牌,包括社交 Provider ,不应用于保护您的 API。...另一个困难,每个社交 Provider 将在其令牌的主题声明中为用户的身份发行不同的值。如果用户通过多种方式进行认证,存在风险会导致业务数据中出现重复的身份。...现代实现支持许多其他安全标准,包括 OpenID Connect 。使用授权服务器时,应用程序组件不再直接与社交登录 Provider 集成。

8810

OAuth 2.0身份验证

文章前言 浏览网络时,几乎可以肯定您会遇到一些使您可以使用社交媒体帐户登录的网站,该功能很可能使用流行的OAuth 2.0框架构建的,OAuth 2.0对于攻击者来说非常有趣,因为它非常常见,而且天生就容易出现实现错误...OAuth身份验证通常按以下方式实现: 用户选择使用其社交媒体帐户登录的选项,然后客户端应用程序使用社交媒体网站的OAuth服务来请求访问一些可用于标识用户的数据,例如,这可能在其帐户中注册的电子邮件地址...在隐式流中,此POST请求通过其浏览器暴露给攻击者,因此如果客户端应用程序未正确检查访问令牌是否与请求中的其他数据匹配,则此行为可能导致严重的漏洞,在这种情况下,攻击者只需更改发送到服务器的参数即可模拟任何用户...考虑一个网站,它允许用户使用经典的基于密码的机制登录,或者使用OAuth将其帐户链接到社交媒体概要文件,在这种情况下,如果应用程序未能使用state参数,攻击者可能会通过将客户机应用程序上的受害者用户的帐户绑定到其自己的社交媒体帐户来劫持该帐户...除了打开重定向之外,您还应该查找允许您提取代码或令牌并将其发送到外部域的任何其他漏洞,一些好的例子包括: 处理查询参数和URL片段的危险JavaScript 例如,不安全的web消息传递脚本可以很好地实现这一点

3.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

TikTok 用什么算法传输并加密内容?

最近,美国计划让微软收购视频分享社交网络移动应用 TikTok,因为“它对美国国家安全构成了风险”,必须交由美国本土的科技公司管理。TikTok 最近得到了多家媒体的报道,但其中又有多少真实的呢?...因此,我计划在一系列文章中讨论该问题,每篇文章都有特定的主题。 我一名法国安全研究员,多年来,一直在分析移动应用程序。...我在这些 JSON 中看不到任何可疑或特定于 TikTok 的东西。 发送到哪里? 正如你在前面的截图看到的那样,请求被发送到 log16-normal-c-useast1a.tiktokv.com。...有意思的,我人在欧洲,但我的日志却被发送到美国东部的据点……TikTok 一个全球范围使用的应用程序,他们可能用了几个端点来上传日志。 经过深入研究,我们可以找到 URLConfig 类。 ?...获取用户设备的数据这种行为在移动领域相当普遍,在 Facebook、Snapchat、Instagram 和其他网站也会有类似的结果。 作者介绍: Elliot Alderson,法国黑客。

1.2K20

【微服务】微服务间通信的最佳实践

这里的重点协议(HTTP/HTTPS)同步的,客户端代码只有在收到 HTTP 服务器响应后才能继续其任务。 异步协议:其他协议如 AMQP(许多操作系统和云环境支持的协议)使用异步消息。...它只是将消息发送到消息代理服务,例如 RabbitMQ 或 Kafka(如果我们使用的事件驱动架构)。...例如,在电子商务网站中,用户下订单并请求发送到发货服务以发货,但发货服务关闭,我们丢失了订单。一旦完成,如何将相同的订单发送到运输服务?...但是当复杂性增加并且您有很多端点调用其他服务时,它就会造成混乱。很快,您会发现自己围绕驱动程序创建了一个包装器,这样您就可以减少需要编写的代码量。...让我们讨论一个项目结构: 考虑到这种架构,ClientUI 端点将 PlaceOrder 命令发送到 Sales 端点

1K30

基础设施即代码的历史与未来

在本文中,我想深入探讨基础设施即代码的主题:它是什么,它带来了什么好处,它已经经历了哪些具有开创性意义的转变,以及未来可能的发展。 什么基础设施即代码(IaC)? 让我们从解释这个概念开始。...如果我们以后决定修改队列(也许我们希望超时时间 240 而不是 120 ),或者完全删除它,我们只需更改模板,引擎将确定必要的 API 调用来更新或删除它。...在某种程度上,这是一个非常低级的问题;然而,由于前述 DSL 缺乏抽象工具,因此实际上没有可用的工具可以隐藏这些实现细节。...例如,让我们来看一个与上述 CloudFormation 模板等效的 Cloud Development Kit(CDK) 程序(本例中我将使用 TypeScript ,但任何其他受 CDK 支持的语言看起来都非常相似...如果您想深入了解这个主题,Yehuda Cohen 的这篇文章对基础设施即代码在云环境中的全面探索,非常长且详细。

10810

微服务中的日志管理 — ELK

实际上,挑战在于微服务相互隔离的,它们不共享公共数据库和日志文件。随着微服务数量的增加以及我们使用自动化持续集成工具实现云部署,当我们遇到任何问题时,非常有必要对组件进行调试。...实际上我们只是输出了几个日志语句,因此可以根据您的选择随意添加/修改日志。...会看到一些异常信息输出。 转到应用程序根目录并检查是否已创建日志文件elk-example.log,并对端点执行几次访问并验证日志文件中是否添加了日志。 4....除了演示的这些功能外还可以有很多其他的配置。例如: 不是监听我们的日志文件,我们可以通过logback配置来使用TCP appender,通过TCP协议将日志发送到远程Logstash实例。...我们可以使用远程ELK集群指向我们的日志文件,或者将日志推入,这在将应用程序部署到云中时必需的。 在logstash中创建不同的索引模式。

1.4K40

一网打尽Kafka入门基础概念

消息系统 首先,我们理解一下什么消息系统:消息系统负责将数据从一个应用程序传输到另外一个应用程序,使得应用程序可以专注于处理逻辑,而不用过多的考虑如何将消息共享出去。...实际上,消息系统有两种消息传递模式:一种点对点,另外一种基于发布-订阅(publish-subscribe)的消息系统。...一个现实生活的例子Dish电视,它发布不同的渠道,如运动,电影,音乐等,任何人都可以订阅自己的频道集,并获得他们订阅的频道时可用。...图 2 发布-订阅消息系统抽象图 kafka简介 Apache Kafka一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端点传递到另一个端点。...每个 producer 将消息发送到 kafka 中,都需要指明要存的 topic 哪个,也就是指明这个消息属于哪一类。

25530

GitHub:再见,Cookies!

如果你总是太长不看直接点确定的话,可以先复习一下条款大致在说些什么:网站使用 Cookies 通常是为了提升网站导航的效率、分析用户使用习惯、提供个性化内容、提升社交功能,帮助营销。...接受条款意味着有一些个人信息会被网站及其关联的社交网络、广告及分析合作伙伴共享。 ? 初次登陆《科学美国人》网站时显示的 Cookies 条款。...GitHub 取消了绝大多数 Cookies 也意味着该站点不再会将任何信息发送给第三方用作分析服务,包括跟踪、显示广告或将信息发送到其他地方。 不过这并不意味着用户与网站之间不再传输个人信息。...GitHub 的发言人指出,目前网站仍然会追踪一些不依赖于 Cookies 或其他唯一标识符的总体性能指标。...同时,GitHub 仍会将用户名、唯一 ID、设备数据及访问的页面发送到 collector.githubapp.com 端点上。

1.3K10

Strimzi改进了Prometheus的Kafka指标

Prometheus获取这些数据的接口一个简单的HTTP端点,提供带有指标的文本输出。有许多工具和库可以让你轻松地在应用程序中创建Prometheus端点。...你可以让你的提醒发送到许多不同的通知渠道,如电子邮件、Slack、PagerDuty等。...例如,它不提供关于消费者滞后或主题信息的任何指标。你可以通过Kafka命令行工具或Kafka管理API获得这些信息。但不是作为JMX或Prometheus的指标标准。...Kafka导出器一个伟大的开源项目,来自Daniel Qian和其他贡献者 - 谢谢你的工作。Strimzi只是将它集成到我们自己的Kafka部署中。...Kafka导出器作为客户端连接到Kafka,并收集关于主题、分区和用户组的不同信息。然后将此信息作为Prometheus指标端点公开。

2.5K10

GitHub率先消灭了cookies:与烦人的用户条款说再见

如果你总是太长不看直接点确定的话,可以先复习一下条款大致在说些什么:网站使用 Cookies 通常是为了提升网站导航的效率、分析用户使用习惯、提供个性化内容、提升社交功能,帮助营销。...接受条款意味着有一些个人信息会被网站及其关联的社交网络、广告及分析合作伙伴共享。 初次登陆《科学美国人》网站时显示的 Cookies 条款。...GitHub 取消了绝大多数 cookie 也意味着该站点不再会将任何信息发送给第三方用作分析服务,包括跟踪、显示广告或将信息发送到其他地方。 不过这并不意味着用户与网站之间不再传输个人信息。...GitHub 的发言人指出,目前网站仍然会追踪一些不依赖于 cookies 或其他唯一标识符的总体性能指标。...同时,GitHub 仍会将用户名、唯一 ID、设备数据及访问的页面发送到 collector.githubapp.com 端点上。

25610

为什么Viable使用Next.js和Node.js进行AI应用开发

这些数据可以来自在线评论、调查反馈、社交媒体以及像 ZenDesk 或 Intercom 这样的客户服务平台 —— 基本上客户与公司交流服务的任何地方。...“数据进来后,它会处理这些数据,深入挖掘主题并识别数据集中的主题,然后分析这些主题,每个主题输出约 10 段我们分析的段落,它读起来像一份报告,” 软件工程师 Erickson 告诉 The New Stack...对 Erickson 来说,Next.js 的另一个好处生态系统,他指出,这个生态系统比任何其他框架都大,除了可能 React 本身。...使其出色的,它以异步方式运行,这意味着它基本上有一个在代码运行时发生的运行时循环。 “它可以暂停进程的执行,”他说。“它拉入更多的数据,这意味着它的多任务处理能力实际上比许多其他编程语言要好得多。...“如果你与 ChatGPT 或任何东西聊天,当你这样做时,你实际上可以看到文本正在流入,”他说。“它不喜欢有一个小的加载指示器,然后一次性输入所有文本。

7610

GitHub率先消灭了cookies:与烦人的用户条款说再见

如果你总是太长不看直接点确定的话,可以先复习一下条款大致在说些什么:网站使用 Cookies 通常是为了提升网站导航的效率、分析用户使用习惯、提供个性化内容、提升社交功能,帮助营销。...接受条款意味着有一些个人信息会被网站及其关联的社交网络、广告及分析合作伙伴共享。 初次登陆《科学美国人》网站时显示的 Cookies 条款。...GitHub 取消了绝大多数 cookie 也意味着该站点不再会将任何信息发送给第三方用作分析服务,包括跟踪、显示广告或将信息发送到其他地方。 不过这并不意味着用户与网站之间不再传输个人信息。...GitHub 的发言人指出,目前网站仍然会追踪一些不依赖于 cookies 或其他唯一标识符的总体性能指标。...同时,GitHub 仍会将用户名、唯一 ID、设备数据及访问的页面发送到 collector.githubapp.com 端点上。

26720

Spring Boot实现带STOMP的WebSocket

它定义了如何将字节流转换为帧。帧可以包含文本或二进制消息。由于消息本身不提供有关如何路由或处理它的任何其他信息,因此很难在不编写其他代码的情况下实现更复杂的应用程序。...我将进一步详细讨论这个主题。 还有一件事需要澄清——为什么我们在端点上调用 setAllowedOrigins()方法。...步骤3:实现处理用户请求的控制器 它将向订阅特定主题的所有用户广播收到的消息。这是一个将消息发送到目标地址 /topic/news的示例方法。...WebSocket端点可以像任何其他请求一样受到保护,例如,在 Spring WebSecurityConfigurerAdapter中的实现。...实际上,标准 HTTP头(例如,授权)用于此目的。不幸的,并非所有 STOMP客户端都支持它。

5.3K20

【首席架构师看Event Hub】Kafka深挖 -第2部分:Kafka和Spring Cloud Stream

同样的方法也使用SendTo进行注释,SendTo将消息发送到输出目的地的方便注释。这是一个Spring云流处理器应用程序,它使用来自输入的消息并将消息生成到输出。...在运行时,可以使用执行器端点来停止、暂停、恢复等,执行器端点Spring Boot的机制,用于在将应用程序推向生产环境时监视和管理应用程序。...如果发现任何分区没有leader,或者代理无法连接,那么health check将报告相应的状态。...在出站时,出站的KStream被发送到输出Kafka主题。 Kafka流中可查询的状态存储支持 Kafka流为编写有状态应用程序提供了第一类原语。...Spring Cloud Stream在内部将分支发送到输出绑定到的Kafka主题。观察SendTo注释中指定的输出顺序。这些输出绑定将与输出的KStream[]按其在数组中的顺序配对。

2.5K20

如何将 Stackdriver 连接到智能家居服务器以进行错误记录

可能来自堆栈驱动程序的错误报告消息的屏幕截图 你收到的日志会自动清除并移除任何个人可识别信息(PII),而且不会包含详细的追踪。...让我们看看如何将你的日志从 Stackdriver 导出到你的基础设施中,让你在这些数据之上构建额外的集成。 使用 Stackdriver,你可以设置包含带有特定过滤器的日志接收装置。...这个接收装置中的日志可以通过 Cloud 发布/订阅发送到你拥有的端点。 域名验证 在将消息推送到端点之前,你需要验证你自己的域名。...以下代码片段这个响应示例: const app = smarthome(); app.onSync(body => { return { requestId: body.requestId...如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 本文永久链接 即为本文在 GitHub 上的 MarkDown 链接。

1.9K30

负载测试很重要

负载测试模拟真实的用户场景 在负载下测试网站,应用程序或API端点时,实际上在模拟现实中成千上万的用户访问它时的性能。与许多用户(负载测试)相比,系统对一个用户(功能测试)的性能可能完全不同。...代码迭代可能造成意外的结果 假设有一位负责任的开发人员,他实际上在两个月前对系统进行了负载测试。结果表明,大多数API端点和服务都有效:检测到一些小瓶颈,但已将其修复,再次运行测试,发现一切运行良好。...负载测试任何持续集成过程的重要部分,每次提交都运行的所有测试的一部分,以及BUG管理,代码分析等。...避免崩溃 每次重要网站崩溃时,新闻头条都会宣传这一失误,并引起大量用户在社交媒体的关注,并谴责网站所有者未采取适当措施避免崩溃。用户的不满情绪会蔓延,他们再次重试APP或者网页的可能性会大大下降。...相比之下,用在负载测试上的金钱和其他资源就微乎其微了,虽然这些投入表面看起来在大多数情况下都是没有直接受益的。

77720

谷歌跟踪代码管理器(GTM) 入门指南 第4部分——社交媒体

其实,谷歌分析本身已记录了你网站所有来自社交渠道的流量。这包括Facebook,Twitter,LinkedIn,Pinterest,Youtube,Google+和其他许多不知名的社交平台。...让GTM无法正常工作的唯一原因可能,如果你的网站用的第三方的社交分享插件,那么GTM就无法检测到链接的点击。...从你的网站点击跳转至社交网站 如果您已经将外部链接发送到Google Analytics(请参阅第3部分),那么你的社交链接点击次数就将被记录为“事件”。...你可以在“社交”报告部分看到该部分的数据,另外你还可以选择触发该事件,或者通过编辑外部链接触发器的方式,使某些外部链接不被触发(包括Facebook、Twitter、Linkedin)。...你可以通过运行GTM预览模式来查看点击“赞”时是否记录了任何点击。 如果GTM没有记录到点击,那么点赞按钮实际上不属于该网站的。

2.4K60

Make Everything Production Like | TW洞见

本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。...开发环境出问题的时候,影响到只是自己,如果持续集成环境或者其相关的基础设施出了问题,那影响到的就 所有人以及整个开发的进展,我们曾经遇到一次这样的事故,整个Bamboo (CI)环境的Master和Database...一些简单的背景: 客户使用的持续集成工具Bamboo CI Master,Agent以及数据库服务都采用了AWS的服务,如EC2、RDS、R53等 用CloudFormation去管理整个CI服务的基础设施...如果Bamboo Master或者Master DB挂掉,也可以通过CloudFormation Stack以及备份的Snapshot 在1-2个小时以内恢复,时间的开销相对较少。...挂载失败需要恢复或者Instance当机,处理的 时间成本都会比较低,在半个小时以内。

1.2K100
领券