• Google+ SignIn:联合身份认证、授权和语义活动流


    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+特性,但却给出了一个关于新的认证和授权标准,以及语义标记向社交活动流扩展的有趣例子。

  • 相关阅读:
    C++ 用libcurl库进行http通讯网络编程(转)
    树莓派声音设置
    在Linux终端命令行下播放音乐的命令(Ubuntu)
    2.1 LibCurl编程流程(转)
    linux编译curl库的动态库so(转)
    单片机中断的IE和IP寄存器(摘抄)
    MCS-51系列特殊功能寄存器(摘抄)
    linux c libcurl的简单使用(转)
    普林斯顿结构 VS 哈佛结构
    树莓派(raspberry pi)学习4: 更改键盘布局(转)
  • 原文地址:https://www.cnblogs.com/kuaidianba/p/3015845.html
Copyright © 2020-2023  润新知