使用velruse进行kotti身份验证:openid、oauth2、google、yahoo、live、facebook、twitter和其他
kotti_velruse的Python项目详细描述
kotti_velruse是一个Kotti插件,它通过Velruse提供身份验证,使用 方法包括:openid、oauth2、google、yahoo、live、facebook、twitter和其他方法
注意
kotti_accounts需要与kotti_velruse一起安装。
对于不耐烦的人
这里有一个演示,展示了它的工作原理。 只需在一个干净的virtualenv中运行下面的命令。
git clone https://github.com/frgomes/kotti_velruse_demo.git cd kotti_velruse_demo ./run-server.sh
设置
- 在kotti.configurators 上插入kotti_velruse.kotti_configure。
kotti.configurators = kotti_velruse.kotti_configure kotti_accounts.kotti_configure # other plugins
- 在下面的[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 ### --------------------------------------------------------------------------
- 请调整development.ini中的变量realm。
- 根据您的附属密钥和 密码。
注意
有几家供应商是开箱即用的,比如谷歌混合、雅虎和大多数 OpenID提供程序。
导航到如下所示的页面/登录:
$ 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(未发布)
- 初始版本,创建为Velruse的示例。 见:http://github.com/frgomes/velruse/tree/feature.kotti_auth
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
- 更好的文档