跳转到主要内容

另一个单点登录系统:OAuth2提供者

项目描述

Yasso(另一个单点登录系统)是一个使用OAuth2构建基于Web的单点登录服务的系统。它旨在符合OAuth2规范的草案25。

入门指南

包含一个演示配置以帮助您入门。按照以下方式安装和运行演示配置:

$ git clone git://github.com/hathawsh/yasso.git
$ cd yasso
$ virtualenv --no-site-packages .
$ bin/pip install -U zc.buildout
$ bin/buildout
$ bin/pserve demo.ini

演示Yasso服务器将随后在http://localhost:8510/上可用。您可以浏览到它,但您目前看不到太多。

在另一个shell中,安装并运行oauth2sample客户端

$ git clone git://github.com/hathawsh/oauth2sample.git
$ cd oauth2sample
$ virtualenv --no-site-packages .
$ bin/pip install -U zc.buildout
$ bin/buildout
$ bin/pserve yasso-demo.ini

示例客户端将随后在http://localhost:8511/上可用。浏览到那里。您将被重定向到Yasso授权端点,Yasso将要求您使用HTTP基本身份验证登录。使用用户名sample1,密码password登录。最后,您将被重定向回示例OAuth2客户端,并且将以sample1身份登录。演示结束。

假设一切顺利,这个演示简短且安静,这正是应有的样子:单点登录应主要对用户不可见。

HTTP基本认证可能是您首先想要替换的东西。要更改它,创建一个适用于您组织的repoze.who配置,并使用您自己的Pyramid配置文件(而不是demo.ini),该文件指向您的repoze.who配置文件。

结构

Yasso由三个独立的Pyramid应用程序组成。每个都有不同的安全策略和视图,但都使用相同的模型对象。

  • 授权应用程序对最终用户可见。当用户想要在客户端网站上登录时,客户端会将用户的浏览器重定向到Yasso授权端点(这是授权应用程序的一部分),以便用户登录。用户登录后,Yasso将浏览器重定向回客户端网站,并带有OAuth2参数;网站调用令牌端点以完成授权。

  • 提供令牌端点的令牌应用程序不打算让用户可见。用户在Yasso中认证后,客户端网站会直接调用令牌端点(使用REST调用)来创建访问令牌。访问令牌允许客户端使用资源应用程序。

  • 资源应用程序也不打算让用户可见。对资源应用程序的调用需要在POST参数或HTTP头中包含有效的访问令牌。默认资源应用程序只允许客户端网站获取用户ID,但您可以创建自己的视图,允许客户端代表用户执行其他操作。

Yasso包括一个WSGI复合应用程序,将这三个应用程序结合起来。复合应用程序将起始URL路径为/resource的路径映射到资源应用程序,将起始URL路径为/token的路径映射到令牌应用程序,并将所有其他URL映射到授权应用程序。

0.0

  • 初始版本

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

yasso-0.1.tar.gz (62.2 kB 查看散列)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面