InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

Google+ Sign-In:联合身份认证、授权和语义活动流

  • 2013-04-11
  • 本文字数:1689 字

    阅读完需:约 6 分钟

Google+ Sign-In 将 Google+ 社交网络扩展到第三方网站、桌面应用和移动应用,并进一步巩固了 Google 与 Twitter 和 Facebook 一道作为认证提供者的地位。在 2 月 26 日公布的这项服务支持以下特性:身份认证、授权和活动分享。它还为用户互动、Hangouts(通过摄像头进行多人视频通话)和自动下载 Android 应用提供了额外的支持

尽管关于这项新服务的讨论主要聚焦在与 Facebook 的激烈竞争上,从技术角度看,探寻 Google+ API 幕后的内容以了解这些新特性如何工作并理解一些将要投入使用的标准很有帮助。

一个简单的 [g+ | Sign In] 按钮为进入第三方 Web 页面、桌面或移动应用提供了入口。它的流程从应用为了访问用户的 Google+ 档案而请求访问令牌开始。在浏览器中,该编配(orchestration)通过客户侧流程,或是通过后端 API 操作使用服务器侧流程完成。如果用户还未使用 Google+ 认证,则认证会作为 sign-in 的一部分。此外用户会得到提示,对第三方应用赋予他们希望的访问等级。访问等级或范围包括:

  • Userinfo.email:仅提供用户的电邮地址
  • plus.me:提供用户的 Google+ 档案信息
  • plus.login:通过允许访问圈子以及向用户的 Goolge+ 活动流写入活动的能力,扩展其他范围

这样的访问编配结合了认证与授权,授权遵循 OpenID Connect 草案标准,而这份草案标准则基于近期生效的 OAuth 2 协议。认证则完全由 Google 认证系统处理而不会涉及第三方应用。OpenID Connect 将认证置于 OAuth 授权协议之上,有效地对第三方应用进行用户认证并准许访问用户的 Google+ 档案。 Nat Sakimura 是 OpenID 基金会主席及 OpenID Connect 的合著者,他恰到好处地描述了OpenID、OAuth 和OpenID Connect 之间的区别,以及应用如何使用类似Google+ Sign-In 这样的服务以校验一个用户请求访问的认证。

用户可以使用他们的应用设置页面检查他们的应用授权,在该页面中他们可以取消访问或改变自己的分享设置。

第三方应用现在可以使用其访问令牌在Google+ API 中管理应用内活动。Google 将这些活动称作“瞬间(moments)”,而Google+ API 提供简单的CRUD 接口以插入、列出和删除“瞬间”。“瞬间”可以以不同的风格出现,被称作ActivityTypes(活动类型)。所有的活动都拥有名字、描述和缩略图,以及一个用于表现活动主题的_itemtype(事物类型)_。Itemtype 必须是 schema.org 所列出的事物的子类型,例如一本、一个地方或是一个。此外,事物必须拥有指向某个HTML 页面的URL——这个页面必须包 schema.org 含标记出的相关事物。用这种方法,Google+ 集成鼓励开发结构化标记的“语义网”,它也有益于搜索引擎。行为列表相当全面:

  • AddActivity(添加活动):一个具有 itemtype、名字、描述和缩略图的通用活动。
  • BuyActivity(购买活动):展现某事物的购买。
  • CheckinActivity(签到活动):展现用户在某处签到,并带有额外的地址和地理位置属性。
  • CommentActivity(评论活动):适用于用户对一篇博文、书或其他创新作品进行评价的时候。
  • CreateActivity(创建活动):适用于用户创建一件创新作品的时候。
  • DiscoverActivity(发现活动):适用于用户发现一件创新作品的时候。
  • ListenActivity(聆听活动):展现用户正在聆听音乐拷贝或提供额外属性用于歌曲、专辑和艺术家的元数据。
  • ReserveActivity(预订活动):表示用户正在预订某项本地业务,例如餐厅或酒店。
  • ReviewActivity(评价活动):一项包含评级信息的事物评价。
  • WantActivity(期望活动):表明用户期望某事物,例如他们将某事物添加到了应用中的心愿单。

Google+ 基于用户授权设置,完全处理将这些“瞬间”到 Google+ 活动流的表达与分发工作。

这份简洁的回顾仅仅浮光掠影般检视了 Sign-In 带来的新的 Google+ 特性,但却给出了一个关于新的认证和授权标准,以及语义标记向社交活动流扩展的有趣例子。

查看英文原文 Google+ Sign-In: Federated Identity, Authorization and Semantic Activity Streams


感谢侯伯薇对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2013-04-11 09:342580
用户头像

发布了 256 篇内容, 共 64.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

「SQL数据分析系列」16. 分析函数

数据与智能

sql 函数 分析

趁着课余时间学点Python(三)变量,基本数据类型,运算符

ベ布小禅

8月日更

【翻译】数据包的旅程 - 主机之间通信

luojiahu

计算机网络 OSI模型

占楼

IT蜗壳-Tango

8月日更

15个经典面试问题,如何设计一个百万级用户的抽奖系统?

Geek_f90455

Java 程序员 面试 后端

Gin 介绍

xcbeyond

Go 语言 gin 8月日更

等待时间的忍受度

箭上有毒

8月日更

2021年您应该知道的技术之一!MySQL最全整理

Geek_f90455

Java 程序员 面试 后端

Linux之at命令

入门小站

Linux

2021Java大厂高频面试题:Redis面试题及答案整理

Geek_f90455

Java 程序员 面试 后端

2021Java面试总结!再见笨重的ELK

Geek_f90455

Java 程序员 面试 后端

graphql计算指令之@skipBy和@includeBy:使用表达式实现简单控制流

杜艮魁

开源 后端 低代码 graphql

2021Java进阶新篇章,狂刷1个月Java面试题

Geek_f90455

Java 程序员 面试 后端

在线手机号码上标生成工具

入门小站

工具

2021必看!热榜!基于jsp

JVM调优资料

Java 程序员 面试 后端

12道Java高级面试题:瞧一瞧

Geek_f90455

Java 程序员 面试 后端

刷完这套200+大厂Java真题手册,成功拿到阿里,京东,美团的offer

Java 编程 架构 面试 架构师

【设计模式】单例模式

Andy阿辉

编程 程序员 后端 设计模式 8月日更

藏在煤箱中的文明:一个会说话的箱子能告诉我们什么?

脑极体

使用 Sequelize 快速构建 PostgreSQL 数据的 CRUD 操作

devpoint

node.js postgresql API 8月日更

IDEA下载及新建第一个Java项目(Helloworld)

Bob

8月日更

阿里人,五年心血汇聚而成这份Spring Cloud Alibaba开发手册

Java架构师迁哥

Vue进阶(五):与 Vuex 的第一次接触

No Silver Bullet

Vue vuex 8月日更

Linux 环境如何使用 kill 命令优雅停止 Java 服务

陈皮的JavaLib

Java Linux 面试 springboot 8月日更

小技巧 | Get 到一个 Web 自动化方案,绝了!

星安果

chrome 自动化 Web 插件 chrome扩展

编程的世界有点神奇

Nydia

Dremio 推出在 AWS 云上运行的数据湖服务

水滴

数据湖 8月日更 Dremio

NLP随笔(四)

毛显新

自然语言处理 神经网络 深度学习

数据缓存历险记(二)--被过期键经理上了一课

卢卡多多

redis Redis键过期监听 8月日更

前端之数据结构(一)

Augus

数据结构 8月日更

2021Java面试笔试总结!Flutter中的widget

Geek_f90455

Java 程序员 面试 后端

  • 扫码添加小助手
    领取最新资料包
Google+ Sign-In:联合身份认证、授权和语义活动流_Google_Saul Caganoff_InfoQ精选文章