【发布时间】:2015-07-23 22:43:24
【问题描述】:
是否有一个库可供我使用 python 在 App Engine 中进行 SAML 身份验证?
我看过pysaml2,它确实说它是纯python 实现。但是,它使用的 subprocess.Popen 不能在 App Engine 中使用,并且会在此时失败。
【问题讨论】:
标签: python google-app-engine saml
是否有一个库可供我使用 python 在 App Engine 中进行 SAML 身份验证?
我看过pysaml2,它确实说它是纯python 实现。但是,它使用的 subprocess.Popen 不能在 App Engine 中使用,并且会在此时失败。
【问题讨论】:
标签: python google-app-engine saml
如果您将 flex 环境与基于 standard python27 运行时 provided by google 构建的自定义运行时一起使用,则可以在 GAE 上使用 python-saml。我刚刚获得了 onelogin 的 python-saml flask-demo 使用以下设置成功使用此方法:
Dockerfile:
FROM gcr.io/google_appengine/python
LABEL python_version=python
RUN virtualenv /env -p python
# Install system packages for onelogin dependencies not already included in runtime
RUN apt-get update && apt-get --yes --quiet install python2.7-dev libxmlsec1-dev
# Set virtualenv environment variables. This is equivalent to running
# source /env/bin/activate
ENV VIRTUAL_ENV /env
ENV PATH /env/bin:$PATH
ADD requirements.txt /app/
RUN pip install -r requirements.txt
ADD . /app/
CMD python index.py
app.yaml
runtime: custom
env: flex
entrypoint: python index.py
api_version: 1
threadsafe: true
requirements.txt
flask==0.10.1
python-saml
然后简单地做gcloud app deploy app.yaml --version v1
【讨论】:
【讨论】:
python-saml 需要包dm.xmlsec.binding,这是一个绑定到xmlsec 的Cython,所以我猜这就是它会失败的地方。但是,我不再有权访问需要此功能的项目,因此无法对此进行测试。