使用 OpenID 2.0 登录 Steam
项目描述
pySteam登录
一个小型 Python 3 类,旨在让 Steam OpenID 2 登录并尽快运行。
到目前为止,还没有任何“体面的”Steam Openid 库可以提供任何适当的文档或关于如何实际使用它们的见解。除此之外,它们通常相当臃肿且有问题。由于这个 pySteamSignIn 是一个精简类,旨在让您尽快插入 Steam Auth 并让您立即开始返回结果。
安装
pySteamSignIn 现在可在 pip 上使用!
pip install steamsignin
让我们快速获得认证滚动
这背后的强大之处在于它通过两个(或三个,如果您使用的是 Bottlepy / Flask)功能提供了整个身份验证过程。第一个函数是ConstructURL,它接受一个字符串并返回一个字符串
要传递的字符串是用户通过 Steam 登录后将返回的任何页面。
from pysteamsignin.steamsignin import SteamSignIn
steamLogin = SteamSignIn()
encodedData = steamLogin.ConstructURL('https://0.0.0.0:8080/processlogin'))
ForwardClientToSteamPage(encodedData) #Not a real function, but the next action you'd take
...
此时,您将发送请求转发给客户端https://steamcommunity.com/openid/login,然后您会收到一堆东西。
这里重要的是您将 GET 返回的数据放入字典中,然后传递给 ValidateResults
#Some function where the data has been passed in a dictionary no less
steamLogin = SteamSignIn()
returnedSteamID = steamLogin.ValidateResults(dictionaryGoesHere)
#Perform checks to see if you actually have something that isn't false
...
这就是它的一般要点!此时用户已通过 Steam 自己的服务器验证,因此返回的 Steam64ID 是可信任的,您可以使用它来存储信息,您可以在当前客户端上设置 cookie 等等。
如果你使用 Bottlepy 或 Flask...
在 RedirectUser 的幌子下提供了一个额外的帮助函数。这只会代表您将用户中继到 Steam 站点,因此
steamLogin = SteamSignIn()
steamLogin.RedirectUser(steamLogin.ConstructURL('https://0.0.0.0:8080/processlogin'))
# In the case of Flask, return the above RedirectUser call instead.
...
最后
希望这有助于某人让 Steam OpenID 和 Python 和谐地工作。Flask 和 Django 有一些解决方案(它们基本上是 python-openid 的美化包装器),但它们仍然可以导致相当多的步骤。
这是基于 OpenID 2.0 而不是OpenID Connect 1.0。
如果您需要此库的 Go 版本,可在此处获得。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置分布
steamsignin -1.0.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 0f2a6aeec38f7f8946849dd851acf5bdc7efed5c8ef00a1ce05d220f4003ca1d |
|
| MD5 | 809b6639fb45fa3409f1c447b16d3efd |
|
| 布莱克2-256 | d696b039fead344c09fc6cf3f5830f430f33ff0285c20daf0179755c2497d125 |
steamsignin -1.0.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 73d3eecfea7de8add455eb9d89cc342df63d6c15e26fd605578e91869caaf1a8 |
|
| MD5 | 44eb03304bb1c42e713ba5fa9b7e6422 |
|
| 布莱克2-256 | ae37dcb12f6b9d996c3b4c04221d3e62c880727d6437481ba419bd8a0afecf05 |