OAuth2授权原理

最近在做第三方接入的,初步定下使用OAuth2协议,花了些时间对OAuth2的授权方式做了些了解。

  我还记得一两年前,跟一位同事聊起互联网时,当时我说过一个想法:

  目前不少较为稀有的资源,很多都是论坛提供下载的,论坛提供的下载往往要求一个论坛帐号,更有甚者,需回帖才可见,又或者下载需要消耗一定的虚拟货币,而这些货币可以用论坛活跃度而获得。假设现在我是一个普通用户,我要找某个资源。通过搜索引擎或者资料,我发现在某个论坛有这个资源下载,从其他地方获得这个资源代价比较高或者说根本就找不着。当我准备下载时,很可能就被提示需登录后才可下载,随机被跳转到注册页面。

  为了这个资源注册一个帐号?我想,无论谁在99%的情况下都不乐意去注册一个只是用一次的帐号,偏偏有些论坛就是为了某些原因要求你必须提供一个帐号。好吧,像我这样的人,当然是瞎填点信息注册个帐号了事。至于注册了帐号需不需要金币或者多少声望才能回帖下载之类的,这里就不唠叨了。这个过程的关键点是:我为了一个临时性的需要,注册了一个永久性无关痛痒的帐号,这个帐号使用一次之后,基本上失去价值了。有无数无聊的用户花了N多的时间在M多的论坛里注册了N*M个无用帐号,这个过程除了对某些统计指标有利以外,对用户没有任何价值。

  可不可以做一个平台,使任意用户可以在任意论坛注册一个帐号,随后这个帐号和密码自动登记到这个平台中作为公共帐号,之后,其他用户再访问这个论坛时,就无需再次注册帐号了,直接在这个平台上,自动地使用公共帐号去做该做的事。这样,随着用户数的增加,最终可以达到一个比较理想的情况:大部分论坛的临时性操作,用户都不用再去注册了,也不用担心自己的常用帐号密码等信息泄漏的问题。尽管对于一些有“经济系统”的论坛(需要通过活跃度/发帖数/现金等有偿获得虚拟货币,存在消费行为),这个平台可能不适合,但即使需求只被解决了一半,也是个有价值的产品。

http://www.cnblogs.com/neutra/archive/2012/07/26/2609300.html

时间: 2024-12-28 21:11:08

OAuth2授权原理的相关文章

OAuth2授权以及微博API的学习

最近接触到微博API的使用,顺带了解下OAuth2的原理~ OAuth认证(Open Authorization 开放授权) 一种安全认证的协议. 为用户资源的授权提供了一个安全.开放而又简易的标准.不会使第三方触及到用户的账号信息. OAuth的验证过程 现在多用 Oauth2.0,在认证和授权的过程中涉及的三方包括: 服务提供方(比如新浪微博):用户使用服务提供方来存储受保护的资源,如个人信息,照片,视频,联系人列表. 用户:受保护的资源的拥有者.用户持有网站(服务提供方)的 帐号和和密码.

微信oauth2授权获得用户信息

<?php session_start(); header("Content-type: text/html; charset=utf-8"); $home = 'index.php'; class db{ private $host; private $user; private $pass; private $database; private $charset; function __construct($host,$user,$pass,$database,$charse

[认证授权] 2.OAuth2授权(续) &amp; JWT(JSON Web Token)

1 RFC6749还有哪些可以完善的? 1.1 撤销Token 在上篇[认证授权] 1.OAuth2授权中介绍到了OAuth2可以帮我们解决第三方Client访问受保护资源的问题,但是只提供了如何获得access_token,并未说明怎么来撤销一个access_token.关于这部分OAuth2单独定义了一个RFC7009 - OAuth 2.0 Token Revocation来解决撤销Token问题. 1.2 Token对Client的不透明问题 OAuth2提供的“access_token

asp.net core 使用identityServer4的密码模式来进行身份认证(2) 认证授权原理

原文:asp.net core 使用identityServer4的密码模式来进行身份认证(2) 认证授权原理 前言:本文将会结合asp.net core 认证源码来分析起认证的原理与流程.asp.net core版本2.2 对于大部分使用asp.net core开发的人来说. 下面这几行代码应该很熟悉了. services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { o

OAuth2.0认证和授权原理

什么是OAuth授权? 一.什么是OAuth协议 OAuth(开放授权)是一个开放标准. 允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息. 而这种授权无需将用户提供用户名和密码提供给该第三方网站. OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源. 二.OAuth的原理和授权流程 OAuth的认证和授权的过程中涉及的三方包括: 服务商:用户使用服务的提供方,一般用来存消息.储照片.视频.联系人.文件等(

微信公众号之订阅号(已认证)实现oauth2授权登录详细步骤介绍

一: 简介 通过 微信公众平台---->权限接口 可以得知 微信的订阅号是没有授权登录接口的,只有服务号才有该权限.这点微信公众平台在多处反复强调 最终的事实是:微信订阅号是可以实现授权登录的! 二:具体实现步骤: 1. 首先在 微信公众平台(https://mp.weixin.qq.com/) [开发]----> [基本配置]----->[服务器配置]完成基本的配置信息 URL: 这里的地址我写的是我们HTML5项目的某个Controller或Servlet的地址,例如 http://

OAuth2.0 原理简介

写在前面: 在正式介绍OAuth2.0之前我们先来看一个场景:小李是一个文艺小青年, 经常喜欢出去旅游并且把自己旅行中的美景照片分享到各大社交网站上,比如朋友圈,新浪微博.小李马上要向女朋友求婚了,他想把这三年来和自己女朋友出去旅游的照片打印出来做成照片墙,好在求婚的时候讲女友感动的一塌糊涂,然后你懂得...,那么问题来了,按照小李带女朋友一个月出去玩一次,每次分享30张照片,三年就是30 * 12 * 3 = 1080 张,小李现在想把这1080张照片全部打印出来他首先得找个提供打印照片服务的

Spring Security OAuth2 授权失败(401 问题整理

Spring Cloud架构中采用Spring Security OAuth2作为权限控制,关于OAuth2详细介绍可以参考 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html 项目中采用OAuth2四种模式中的两种,Password模式和Client模式, Password模式用于控制用户的登录,Client模式用于控制后端服务相互调用. 权限架构调整后在近期发现一些问题,由于网上资料不多,只能单步调试方式看源码 (其实带着问题看源码是最

Spring Security OAuth2 授权码模式

 背景: 由于业务实现中涉及到接入第三方系统(app接入有赞商城等),所以涉及到第三方系统需要获取用户信息(用户手机号.姓名等),为了保证用户信息的安全和接入方式的统一, 采用Oauth2四种模式之一的授权码模式.  介绍:        第三方系统调用我方提供的授权接口(步骤1) 用户同意授权,后跳转第三方系统(步骤2.3) 第三方系统获得code,根据code到我方系统获取token(步骤5.6 ) 根据获取token访问受保护的资源(步骤8.9)    实际应用中由于合作商户,所以需要直接