跳转到主要内容

使用Velruse进行Kotti认证:OpenID、OAuth2、Google、Yahoo、Live、Facebook、Twitter和其他

项目描述

kotti_velruse 是一个 Kotti 插件,它通过 Velruse 提供认证,使用方法包括:OpenID、OAuth2、Google、Yahoo、Live、Facebook、Twitter和其他

了解更多关于Kotti的信息

对于迫不及待的人来说

这里有一个演示如何使用它的示例。只需在干净的虚拟环境中运行以下命令。

git clone https://github.com/frgomes/kotti_velruse_demo.git
cd kotti_velruse_demo
./run-server.sh

设置

  1. kotti.configurators 中插入 kotti_velruse.kotti_configure

kotti.configurators = kotti_velruse.kotti_configure
                      kotti_accounts.kotti_configure
                      # other plugins
  1. [app:main] 部分下方插入以下块

[app:main]

### --------------------------------------------------------------------------
# velruse configuration
#
# Module velruse.app.includeme looks for entries named "provider." in order
# to discover which providers are configured.
#
# NOTE: these configurations must be inside [app:kotti]
#
###


#---
# Please adjust variable REALM
#
# Make sure that:
#
#   1. your browser is able to resolve the FQDN
#   2. your Kotti server is able to resolve the FQDN
#
#---
realm=http://www.example.com


endpoint = %(realm)s:6543/logged_in
store = memory
# store = redis
# store.host = localhost
# store.port = 6379
# store.db = 0
# store.key_prefix = velruse_ustore


# OpenID
#   Despite a single provide.openid is declared, you can specify multiple
#   URLs that should be used for connecting to multiple OpenID endpoints.
#   See: login.mako for an example of how this can be done
provider.openid.realm=%(realm)s
provider.openid.store=openid.store.memstore:MemoryStore

# Google (this an alias to Google Hybrid, for backward compatibility)
provider.google.realm=%(realm)s
provider.google.consumer_key=CHANGE-ME
provider.google.consumer_secret=CHANGE-ME
provider.google.scope=CHANGE-ME

# Google Hybrid
#provider.google_hybrid.realm=%(realm)s
#provider.google_hybrid.consumer_key=CHANGE-ME
#provider.google_hybrid.consumer_secret=CHANGE-ME
#provider.google_hybrid.scope=CHANGE-ME

# Google OAuth2
provider.google_oauth2.consumer_key=CHANGE-ME
provider.google_oauth2.consumer_secret=CHANGE-ME
provider.google_oauth2.scope=CHANGE-ME

# Yahoo
provider.yahoo.realm=%(realm)s
provider.yahoo.consumer_key=CHANGE-ME
provider.yahoo.consumer_secret=CHANGE-ME

# Live
provider.live.client_id=CHANGE-ME
provider.live.client_secret=CHANGE-ME
provider.live.consumer_key=CHANGE-ME
provider.live.consumer_secret=CHANGE-ME

# Twitter
provider.twitter.consumer_key=CHANGE-ME
provider.twitter.consumer_secret=CHANGE-ME

# Facebook
provider.facebook.app_id=CHANGE-ME
provider.facebook.app_secret=CHANGE-ME
provider.facebook.consumer_key=CHANGE-ME
provider.facebook.consumer_secret=CHANGE-ME
provider.facebook.scope=email,publish_stream,read_stream,create_event,offline_access

# LinkedIn
provider.linkedin.consumer_key=CHANGE-ME
provider.linkedin.consumer_secret=CHANGE-ME

# Github
provider.github.consumer_key=CHANGE-ME
provider.github.consumer_secret=CHANGE-ME
provider.github.scope=CHANGE-ME

# BitBucket
provider.bitbucket.consumer_key=CHANGE-ME
provider.bitbucket.consumer_secret=CHANGE-ME

# MailRU
provider.mailru.app_id=CHANGE-ME
provider.mailru.app_secret=CHANGE-ME
provider.mailru.consumer_key=CHANGE-ME
provider.mailru.consumer_secret=CHANGE-ME

### --------------------------------------------------------------------------
  1. 请调整 development.ini 中的 realm 变量。

  2. 根据您的联盟密钥和密码相应地调整提供者配置。

  1. 按照以下方式导航到页面 /login

    $ firefox http://localhost:6543/login

工作原理

kotti_velruse 允许用户在Google、Yahoo、LinkedIn、Twitter、Facebook或任何启用OpenID的提供者上使用任何已有的身份。

kotti_velruse 负责整个身份验证工作流程,从用户选择身份验证提供者开始,到身份验证提供者响应包含用户详细信息(如姓名和电子邮件地址)的记录结束。kotti_velruse 还负责将用户凭据分配给当前浏览会话。

kotti_velruse 不负责以任何方式创建或管理用户凭据。kotti_velruse 也不负责查询用户凭据,以找到与认证用户身份匹配的凭据。这些任务由 kotti_accounts 执行,它拦截 kotti_velruse 在用户成功认证时发出的通知。

另请参阅:kotti_accounts

依赖项

此插件依赖于以下修改后的版本

支持

请在上面的页面顶部找到链接。

作者

Richard Gomes <rgomes.info@gmail.com>

变更日志

0.1 (未发布)

0.2 (2013年10月31日)

  • 作为合适的Kotti插件发布的初始版本。

0.3 (2013年11月2日)

  • 尊重属性‘came_from’,以便返回到上一页。

  • 与处理事件 AfterKottiVelruseLoggedIn 的 kotti_accounts(或其他模块)之间的通信协议更好。

  • 当 kotti_accounts 返回有效的 Principal 时,在当前浏览器会话中创建凭据。

  • 代码审查。

  • 更好的文档。

0.3.1 (2013年11月6日)

  • 与 kotti_accounts 的更好的集成

0.3.2 (2013年11月11日)

  • 与偏好页面 (/@@prefs) 的更好集成

0.3.3 (2013年11月18日)

  • 将版本号移至 package __init__.py

  • request 作为 event 的一部分传递到 AfterKottiVelruseLoggedIn

  • 更好的文档

项目详情


下载文件

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

源分发

kotti_velruse-0.3.4.zip (25.6 kB 查看散列)

上传时间

支持