微软、Google、Twitter、Facebook登录

这篇具有很好参考价值的文章主要介绍了微软、Google、Twitter、Facebook登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微软、Google、Twitter、Facebook登录

1.背景

用户名密码方式的登录与注册繁琐,耗时长,用户体验差。

2.微软登录

(1)官方文档地址

https://learn.microsoft.com/zh-cn/graph/auth/

(2)时序图

微软、Google、Twitter、Facebook登录,学习,twitter,microsoft

a、步骤10

服务器通过app获取到的授权码,请求Microsoft Graph获取令牌

POST /{tenant}/oauth2/v2.0/token

Host: https://login.microsoftonline.com

Content-Type: application/x-www-form-urlencoded

  • 参数说明
    微软、Google、Twitter、Facebook登录,学习,twitter,microsoft
  • 响应说明
    微软、Google、Twitter、Facebook登录,学习,twitter,microsoft
  • 响应示例
{
    "token_type": "Bearer",
    "scope": "user.read%20Fmail.read",
    "expires_in": 3600,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q...",
    "refresh_token": "AwABAAAAvPM1KaPlrEqdFSBzjqfTGAMxZGUTdM0t4B4..."
}
b、步骤12

通过授权码获取令牌信息

GET https://graph.microsoft.com/v1.0/me

Host: graph.microsoft.com

  • 请求头部参数
    微软、Google、Twitter、Facebook登录,学习,twitter,microsoft
  • 响应示例
{
    "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity",
    "id":"12345678-73a6-4952-a53a-e9916737ff7f",
    "businessPhones":[
        "+1 555555555"
    ],
    "displayName":"Chris Green",
    "givenName":"Chris",
    "jobTitle":"Software Engineer",
    "mail":null,
    "mobilePhone":"+1 5555555555",
    "officeLocation":"Seattle Office",
    "preferredLanguage":null,
    "surname":"Green",
    "userPrincipalName":"ChrisG@contoso.onmicrosoft.com"
}

3、谷歌登录

(1)官方文档地址

https://developers.google.com/identity/protocols/oauth2/native-app

(2)时序图

微软、Google、Twitter、Facebook登录,学习,twitter,microsoft

(3)步骤说明

步骤7

通过授权码获取访问令牌、id令牌、刷新令牌

请求方式

POST https://oauth2.googleapis.com/token

Content-Type: application/x-www-form-urlencoded

  • 请求参数
    微软、Google、Twitter、Facebook登录,学习,twitter,microsoft
  • 响应参数
    微软、Google、Twitter、Facebook登录,学习,twitter,microsoft
  • 响应示例
{
  "access_token": "1/fFAGRNJru1FTz70BzhT3Zg",
  "expires_in": 3920,
  "token_type": "Bearer",
  "id_token":"",
  "scope": "https://www.googleapis.com/auth/drive.metadata.readonly",
  "refresh_token": "1//xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI"
}
  • id_token解析示例
{
  "iss": "https://accounts.google.com",
  "azp": "1234987819200.apps.googleusercontent.com",
  "aud": "1234987819200.apps.googleusercontent.com",
  "sub": "10769150350006150715113082367",
  "at_hash": "HK6E_P6Dh8Y93mRNtsDB1Q",
  "hd": "example.com",
  "email": "jsmith@example.com",
  "email_verified": "true",
  "iat": 1353601026,
  "exp": 1353604926,
  "nonce": "0394852-3190485-2490358"
}

5、Facebook登录

(1)官方文档

https://developers.facebook.com/docs/graph-api/overview

https://developers.facebook.com/docs/facebook-login/guides/%20access-tokens/debugging

(2)时序图

微软、Google、Twitter、Facebook登录,学习,twitter,microsoft

(3)步骤说明

步骤5

通过app获取到的access token去请求Facebook服务器,验证token的正确性

  • 请求方式
    GET https://graph.facebook.com/debug_token?access_token={client_id}%7C{appsecret}&input_token={app传递过来的access token}

  • 参数说明
    微软、Google、Twitter、Facebook登录,学习,twitter,microsoft

  • 响应结果示例

{
    "data": {
        "app_id": "{app-id}",
        "type": "USER",
        "application": "{app-name}",
        "data_access_expires_at": 1576687825,
        "expires_at": 1570820400,
        "is_valid": true,
        "scopes": [
            "pages_show_list",
            "public_profile"
        ],
        "granular_scopes": [
            {
                "scope": "pages_show_list",
                "target_ids": [
                    "{page-1-app-can-access-id}",
                    "{page-2-app-can-access-id}"
                ]
            }
        ],
        "user_id": "10215241773831025"
    }
}

需要关注的参数为is_valid和user_id即可

步骤6

获取用户相关的信息,如果app那边获取的用户信息有邮箱,则这一步可以忽略

  • 请求方式
    GET https://graph.facebook.com/USER-ID?fields=id,name,email,picture&access_token=ACCESS-TOKEN

  • 请求参数
    微软、Google、Twitter、Facebook登录,学习,twitter,microsoft

  • 响应结果文章来源地址https://www.toymoban.com/news/detail-766879.html

{
  "id": "USER-ID",
  "name": "EXAMPLE NAME",
  "email": "EXAMPLE@EMAIL.COM",
  "picture": {
    "data": {
      "height": 50,
      "is_silhouette": false,
      "url": "URL-FOR-USER-PROFILE-PICTURE",
      "width": 50
    }
  }
}

到了这里,关于微软、Google、Twitter、Facebook登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Twitter的推荐系统开源了,Twitter的推荐系统是什么样的呢?Twitter推荐系统的架构说明

    来源:https://www.theverge.com/2023/3/31/23664849/twitter-releases-algorithm-musk-open-source Twitter的推荐系统由三大部分构成: Candidate Sources :从不同的推荐源获取最好的推文。 Rank :使用机器学习模型对每条推文进行排名。 后处理逻辑 :应用 heuristics 和 filters ,例如过滤来自已屏蔽用户的

    2023年04月08日
    浏览(50)
  • 手撕Twitter推荐算法

    Twitter近期开源了其推荐系统源码[1,2,3],截止现在已经接近36k star。但网上公开的文章都是blog[1]直译,很拗口,因此特地开个系列系统分享下。系列涵盖: Twitter整体推荐系统架构:涵盖图数据挖掘、召回、精排、规则多样性重排、混排等。参考材料见[1,2]。 Twitter精排模型(

    2023年04月22日
    浏览(45)
  • Twitter优化秘籍:置顶、列表、受众增长

    在 Twitter 上,将你的一条推送文置顶到个人数据顶部是提高可见性和吸引关注者的绝佳方式。无论你是个人用户还是企业,此功能都可以让你的重要信息常驻在众人眼前,即使你发布了新的推文。接下来,我们将分享一些优化建议,帮助你合理地使用此功能。 1、置顶要点:

    2024年02月07日
    浏览(48)
  • 如何利用好Twitter的功能进行营销

    虽然Twitter不是最复杂的社交网络,但您需要了解其中的一些特性和功能。这些是我们进行基本操作的地方。您进行探索并想出更多有创意的方式来使用这些功能。 推文。推文是您可以分享的帖子和更新,限制在140个字符内。每一条推文都有存档,您可以查看自己和其他用户

    2024年02月07日
    浏览(41)
  • 设计Twitter时间线和搜索功能

    设计 facebook feed 和 设计 facebook search是相同的问题 第一步:定义用例和约束 定义问题的需求和范围,询问问题去声明用例和约束,讨论假设 ps: 没有一个面试官会展示详细的问题,我们需要定义一些用例和约束 用例: 我们定义问题的范围,只是去处理以下Use Cases User 发布一

    2024年01月19日
    浏览(38)
  • 如何使用 Python 创建 Twitter 应用程序

    简介 通过访问 Twitter API,您可以管理社交媒体账户,并且可以从社交媒体中获取数据。如果您代表一个企业或组织,这对品牌推广很有帮助;对于个人用户和业余程序员来说,这也可以是一种有趣的娱乐方式。 在本文中,我们将概述创建 Twitter 应用程序所需的步骤。 然后,

    2024年02月20日
    浏览(62)
  • Twitter账号总被关联封号? 如何解决?

    Twitter是一个非常受欢迎的社交媒体平台,它允许用户分享自己的想法,交流意见,并与世界各地的人建立联系。然而,随着Twitter的日益普及,越来越多的人开始购买Twitter账号,并将它们与其他账号关联起来,以此来扩大自己的影响力和社交圈。但是,这种行为也带来了一些

    2024年02月13日
    浏览(38)
  • 如何使用Apache Kafka和Storm实时处理大规模的Twitter数据集 ?4 Streaming Large Collections of Twitter Data in RealTime

    作者:禅与计算机程序设计艺术 Twitter是一个巨大的社交媒体网站,每天都有数以亿计的用户参与其中。许多企业利用其数据的价值已经成为众矢之的。比如,广告、营销、市场调研等方面都依赖于Twitter数据。 Streaming Large Collections of Twitter Data in Real-Time with Apache Kafka and Stor

    2024年02月07日
    浏览(49)
  • 防止推特Twitter账号被冻结,应该选什么代理类型IP?

    在处理多个 Twitter 帐号时,选择合适的代理IP对于避免大规模帐户暂停至关重要。现在,问题出现了:哪种类型的代理是满足您需求的最佳选择?下面文章将为你具体讲解推特账号冻结原因以及重点介绍如何选择代理IP。 一、推特账号被冻结原因 1、IP问题 nbsp;使用不稳定或已

    2024年04月17日
    浏览(86)
  • Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!

    你好,我是猫哥。这里每周分享优质的 Python 及通用技术内容,大部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。) 首发于我的博客:https://pythoncat.top/posts/2023-07-08-weekly 周刊已开通 Telegram 频道 ,欢迎关注:https://t.me/pytho

    2024年02月13日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包