Skip to main content

使用 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 (11.2 kB 查看哈希)

已上传 source

内置分布

steamsignin-1.0.1-py3-none-any.whl (11.8 kB 查看哈希

已上传 py3