使用velruse进行kotti身份验证:openid、oauth2、google、yahoo、live、facebook、twitter和其他

kotti_velruse的Python项目详细描述


kotti_velruse是一个Kotti插件,它通过Velruse提供身份验证,使用 方法包括:openid、oauth2、google、yahoo、live、facebook、twitter和其他方法

Find out more about Kotti

注意

kotti_accounts需要与kotti_velruse一起安装。

对于不耐烦的人

这里有一个演示,展示了它的工作原理。 只需在一个干净的virtualenv中运行下面的命令。

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

设置

  1. kotti.configurators
  2. 上插入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. 根据您的附属密钥和 密码。

注意

有几家供应商是开箱即用的,比如谷歌混合、雅虎和大多数 OpenID提供程序。

  1. 导航到如下所示的页面/登录:

    $ firefox http://localhost:6543/login

工作原理

kotti_velruse允许用户使用他们已经在流行上拥有的任何身份 像google,yahoo,linkedin,twitter,facebook或任何启用openid的提供商 供应商。

Kotti_Velruse只负责身份验证工作流,该工作流在 用户选择身份验证提供程序并在身份验证完成时 提供程序用包含用户详细信息(如姓名和电子邮件)的记录进行响应 地址。Kotti椆u Velruse还负责将用户凭据分配给 当前浏览会话。

Kotti_Velruse不负责在中创建或管理用户凭据 无论如何。在 以便找到与经过身份验证的用户标识匹配的用户标识。这些 任务由kotti_accounts执行,它拦截发出的通知 当用户成功进行身份验证时。

另请参见:kotti_accounts

依赖关系

此插件取决于修改后的版本:

支架

请在本页顶部找到链接。

作者

理查德·戈麦斯

更改日志

0.1(未发布)

0.2(2013年10月31日)

  • 作为一个合适的kotti插件的初始版本。

0.3(2013年11月2日)

  • 荣誉属性'come_from',以便返回上一页。
  • 更好的与Kotti_帐户(或任何其他模块)的通信协议 负责处理Kottivelruselogedin事件。
  • 当kotti_帐户返回时,在当前浏览器会话中创建凭据 一个有效的校长。
  • 代码审查。
  • 更好的文件。

0.3.1(2013年11月6日)

  • 更好地与Kotti_帐户集成

0.3.2(2013年11月11日)

  • 更好地与“首选项”页集成(//@prefs)

0.3.3(2013年11月18日)

  • 将版本号移动到包init.py
  • request作为event的一部分传递给afterkotttivelruselogedin
  • 更好的文档

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
爪哇太阳报。安全验证器。ValidatorException:PKIX路径生成失败   java理解为什么在onDispatchTouchEvent()返回True后仍调用onClick()   java如何在资源包中使用JSF标记/如何在资源包中重写URL?   java什么是流控制异常的替代方案?   java使用Spring数据JPA/MongoDB交叉存储,一个查询可以跨越两个数据库吗?   Apache Sling/felix中的java OSGi slf4j日志记录   为什么当我们想要水平/垂直旋转矩阵时,我们要把这个项除以2?   尝试从外部网页接收JSON字符串时出现安卓 Java NullPointerException   java执行异常:从Callable调用方法时   java在jetty上以调试模式运行webapp,使用maven jetty插件在intellij中构建成功(应用程序应在调试模式下启动)   带有内存数据库的linux Java应用程序的构建时间太长   基于java的随机数单元测试算法   java类型javax。摆动JComponent无法解析   Google日历API和UI小部件Java   java tomcat没有突然和任意地响应   java无法使用jsoup在html中获取图像src   我无法让Java接受键盘输入字符串   java如何开始使用Bambol而不让部署永远继续?   java如何使用另一个类的actionPerformed方法删除一个类/组件中的按钮?   java JSON反序列化brakets{}中的一系列对象