草庐IT

ChatGPT 都在用的身份认证产品,你了解多少?

Authing 2023-06-15 原文

近期,人工智能研究公司 OpenAI 正式推出 ChatGPT,这是一种基于对话的人工智能聊天机器人模型,它能够理解自然语言并以自然语言的方式做出回应。上线不到一周,用户数已经突破 100 万大关。

上线仅 5 天用户数就突破百万大关,在人们都专注于探索 ChatGPT 能力的同时,很少有人关注到 ChatGPT 在短期用户量暴增的情况下所面临的几个问题,例如:系统和数据库性能在高并发的状况中如何保障其稳定性,如何保障大量的用户数据安全?

这得益于 OpenAI 使用了 Auth0 的用户身份和访问管理系统(CIAM)。细心的小伙伴可能在登录 ChatGPT 的时候有关注到其二级域名 auth0 的字样。

Auth0 是什么?我们让 ChatGPT 来回答这个问题:

2021 年 3 月 3 日,全球知名的身份提供商 Okta,宣布以股票形式收购 Auth0 身份云(IDaaS)服务企业,交易价格约 65 亿美元(约合 420 亿人民币)。

近些年,企业上云成为大势所趋,IDaaS(身份即服务) 产品已经成为企业身份管理的标配。但作为海外领先的身份管理服务商,Auth0 并不适应于国内的身份管理场景。

Authing 作为国内唯一以开发者为中心的 IDaaS 产品拥有全面替代 Auth0 的解决方案以及最佳实践

对于开发者而言,搭建一套如 ChatGPT 一样稳定、安全、敏捷并且拥有丰富社会化登录方式的登录系统,需要花费数周甚至数月的时间来实现,而使用 Authing,你只需要 5 分钟即可快速构建一个完善的登录系统。 但 Authing 远不止于此。

01 身份源丰富度

Autho支持多种身份认证方式,包括用户名和密码、社交账号登录(如Facebook、 Google等)、手机号登录等。它还支持多种授权模式,可以让开发者为不同的应用和资源设置不同的授权策略。

繁琐的登录流程会让用户迅速失去耐心,多样化的社会化登录方式能满足企业不同客群的登录习惯,也能帮助企业快速打开市场。正如上图 ChatGPT 所回答的那样,对于 Auth0 而言,中国本地化支持方式有限,更多采用的是国外身份源与邮箱部署登录系统。

Authing 登录组件(Guard)可根据开发者的需求进行配置,一键添加 20+ 企业和社会化登录方式,包括 AWS、飞书、微信、支付宝等,甚至针对微信生态的复杂场景,在前端为开发者提供了简洁、统一的 SDK,将以往需要花费至少一周的身份源集成时间降低到几分钟以内

此外,Authing 还支持国外身份源登录,比如 Facebook、Google、Twitter、Slack、Instagram 等。

除了以上身份源,还支持 LDAP、JWT、OIDC、OAuth2.0、SAML 等多种认证协议。

Authing 还支持自定义登录配置,包括自定义背景、加载图标、CSS。开发者可通过自主上传 Logo 来自定义加载图标,让定制化的登录页面成为企业的品牌化窗口。

若企业对 UI 有严格的统一设计需求,Authing 全局登录配置也允许开发者通过「自定义 CSS」功能,使用 HTML/CSS/JavaScript 实现更加个性化的登录框样式。

02 响应速度

Authing 开发者论坛(https://forum.authing.cn/)和开发者社群每天都会有众多开发者进行提问,我们的研发人员会随时响应并解决开发者的问题,同时我们还提供全球化的身份专家支持团队,7 * 24 小时不间断为您提供技术支持。

03 网络服务性能

在国内,由于 Auth0 的整体架构部署在海外,导致平均响应时间需要 2.7 秒左右。但通常,用户完成一次认证需要加载 2 - 3 个页面,多个静态资源文件加载,3 - 5 个 API 调用,一次认证仅资源加载和调用时间可能在 10 秒 - 20 秒,会对用户的使用体验造成负面影响,更有可能导致新注册用户的流失。

Authing 由于整体架构部署在国内,一次完整的认证加载时间平均低于 2 秒。随着海外客户的增长,Authing 在欧洲、美洲、非洲等全球多个节点进行了部署,且 Authing 的静态文件采用了阿里云 CDN 全球加速,全球平均响应仅在 500 毫秒左右。

04 支持多种云部署

相比于 Auth0 仅仅支持 AWS、Azure、single-tenant 三种部署形式,Authing 支持华为云、阿里云、AWS、腾讯云等六种云部署形式,满足客户公有云、混合云、私有云等多种部署模式,满足开发者不同部署需求。

05定价灵活

Authing 针对不同场景(B2C、B2B、B2E)、活跃用户数按月或者按年支付,分为基础版、高级版与企业版,为开发者提供更加灵活、便捷的用量管理和费用管理体验。

另外,秉承以开发者为中心的设计理念,Authing 首创身份云行业永久免费版,最高可达 8000 MAU,具备基础认证、身份源连接、用户管理和应用管理能力。

06 客户案例

Regrello 是一家硅谷企业服务创业公司,成立于 2020 年 12 月,专为跨公司协作而设计的供应链工作流工具开发商,已获得 2000 万美元的 A 轮融资。该公司的平台提供了一个自动化的工作流引擎,使制造公司能够在其供应链和运营中推动协作并将最佳实践标准化,从而使企业能够跟踪和实施最佳实践,最终使得工作流程自动化。

Regrello 主要做 2B 业务,为企业提供物流管理软件产品,并在在中国签约了多家大客户,签约后需要将软件能力集成到客户系统中,提供登录认证能力。

在对比了国内外多家身份认证企业后,Regrello 出于对安全性、专业性、生产力的考虑,选择了与 Authing 合作。

Authing 为 Regrello 提供了以下三个解决方案

  • 部署多个用户池,自由配置账密认证、谷歌认证等能力,灵活满足其客户需求。

  • 提供了公开的双语技术文档,便于 Regrello 技术总监快速测试 Authing,实现无感平滑迁移。

  • 定期对 Regrello 系统安全性进行测试,通过 Authing Pipeline 延展能力阻挡单一 IP 攻击。

关于 Authing

Authing 既是客户的支持者,也是客户的产品专家和战略顾问,更是值得信赖的合作伙伴。我们提供全球化的身份专家支持团队,通过网络或电话,7*24 小时不间断支持。Authing 的帮助中心提供最新的技术知识库、商业案例以及与您的同行和 Authing 专家联系的机会。无论您何时需要我们,Authing 的支持团队总能最快响应。

目前,Authing 身份云已帮助 30,000+ 家企业和开发者构建标准化的用户身份体系,感谢可口可乐、元气森林、招商银行、中国石油、三星集团、CSDN 等客户选择并实施 Authing 解决方案。

有关ChatGPT 都在用的身份认证产品,你了解多少?的更多相关文章

  1. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  2. ruby - 可以通过多少种方法将方法添加到 ruby​​ 对象? - 2

    当谈到运行时自省(introspection)和动态代码生成时,我认为ruby​​没有任何竞争对手,可能除了一些lisp方言。前几天,我正在做一些代码练习来探索ruby​​的动态功能,我开始想知道如何向现有对象添加方法。以下是我能想到的3种方法:obj=Object.new#addamethoddirectlydefobj.new_method...end#addamethodindirectlywiththesingletonclassclass这只是冰山一角,因为我还没有探索instance_eval、module_eval和define_method的各种组合。是否有在线/离线资

  3. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  4. 神州数码无线产品(AC+AP)配置 - 2

    注意:本文主要掌握DCN自研无线产品的基本配置方法和注意事项,能够进行一般的项目实施、调试与运维AP基本配置命令AP登录用户名和密码均为:adminAP默认IP地址为:192.168.1.10AP默认情况下DHCP开启AP静态地址配置:setmanagementstatic-ip192.168.10.1AP开启/关闭DHCP功能:setmanagementdhcp-statusup/downAP设置默认网关:setstatic-ip-routegeteway192.168.10.254查看AP基本信息:getsystemgetmanagementgetmanaged-apgetrouteAP配

  5. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  6. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  7. ruby - 了解在 Ruby 中与 lambda 一起使用的 inject 行为 - 2

    我经常将预配置的lambda插入可枚举的方法中,例如“map”、“select”等。但是“注入(inject)”的行为似乎有所不同。例如与mult4=lambda{|item|item*4}然后(5..10).map&mult4给我[20,24,28,32,36,40]但是,如果我制作一个2参数lambda用于像这样的注入(inject),multL=lambda{|product,n|product*n}我想说(5..10).inject(2)&multL因为“inject”有一个可选的单个初始值参数,但这给了我......irb(main):027:0>(5..10).inject

  8. ruby-on-rails - 如何测试自己对 Ruby/ROR 的了解? - 2

    是否有self验证的问题列表。看着那个,我可以确定我知道。我应该复习一下。在学习的过程中,我列了一个这样的list,但它只包含我在某处听说过的项目。我需要一段时间才能找到新的东西。 最佳答案 以下是针对ruby​​和Rails的一些测试列表。证书名称:RubyonRails谁提供:oDeskIncorporation认证费用:免费网站:https://www.odesk.com/tests/985?pos=0证书名称:RubyonRails提供者:Techgig.com(TimesBusinessSolutionsLimited(T

  9. ruby-on-rails - 了解 "attribute_will_change!"方法 - 2

    我想覆盖store_accessor的getter。可以查到here.代码在这里:#Fileactiverecord/lib/active_record/store.rb,line74defstore_accessor(store_attribute,*keys)keys=keys.flatten_store_accessors_module.module_evaldokeys.eachdo|key|define_method("#{key}=")do|value|write_store_attribute(store_attribute,key,value)enddefine_met

  10. ruby - token 认证 - 2

    简单代码require'net/http'url=URI.parse('getjson/otherdatahere[link]')req=Net::HTTP::Get.new(url.to_s)res=Net::HTTP.start(url.host,url.port){|http|http.request(req)}putsres.body只是想知道如何在phpcURL中放置身份验证token,我是这样做的    curl_setopt($ch,CURLOPT_HTTPHEADER,array('Authorization:Bearerxxx'));//Bearertokenfora

随机推荐