当前位置: 首页 > 面试题库 >

授权凭证已剥离-django,弹性beantalk,oauth

袁增
2023-03-14
问题内容

我在django中使用django-rest-framework实现了REST api,并使用oauth2进行身份验证。

我测试了:

curl -X POST -d "client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=password&username=YOUR_USERNAME&password=YOUR_PASSWORD" http://localhost:8000/oauth2/access_token/

curl -H "Authorization: Bearer <your-access-token>" http://localhost:8000/api/

在本地主机上,成功结果与文档一致。

将其推送到现有的AWS Elastic beantalk实例时,我收到了:

{ "detail" : "Authentication credentials were not provided." }

问题答案:

我现在使用略有不同的方法。只要汤姆·迪金(Tom dickin)指出不改变环境变量,sahutchi的解决方案就可以工作。我在EB内部进行了更深入的挖掘,发现了wsgi.conf模板的位置,并在其中添加了“ WSGIPassAuthorization On”选项。

commands:
  WSGIPassAuthorization:
    command: sed -i.bak '/WSGIScriptAlias/ a WSGIPassAuthorization On' config.py
    cwd: /opt/elasticbeanstalk/hooks

即使更改环境变量,这也将始终有效。希望对你有帮助。

编辑:似乎仍有很多人在回应这个问题。我已经有一段时间没有使用ElasticBeanstalk了,但是我会在下面考虑使用Manel Clos的解决方案。我还没有亲自尝试过,但是似乎是一个更干净的解决方案。从字面上看,这是对EB脚本的黑客攻击,并且如果EB更新它们,特别是在将它们移动到其他位置的情况下,将来可能会中断。



 类似资料:
  • 我想找一份工作。NET核心应用程序运行在elastic beanstalk上,从浏览器中的javascript接收WebSocket连接。 当我在本地机器上测试AWS外部的客户端和服务器时,我能够在两者之间建立websocket连接。但是,当我将服务器部署到elastic beanstalk时,会出现以下错误 服务器使用101交换协议进行响应,因此我知道服务器正在尝试建立连接,但缺少Sec Web

  • 问题内容: 我们有一个相当简单的node.js应用程序,但是由于AWS Elastic Beanstalk部署机制,即使提交了一个文件,也需要大约5分钟(通过)推出新版本。 即,提交本身(和上载)非常快(仅可推送1个文件),但是Elastic Beanstalk从S3获取整个包,将其解压缩并运行,这导致node-gyp编译一些模块。安装/构建完成后,Elastic Beanstalk会擦除并用新的

  • 问题内容: 我正在寻找最简单的方法斑马条纹以下响应式弹性框表上的行。 换句话说,在此示例中,第2行和第4行是无限的,我不知道会有多少行,因为这是CMS系统中可重用的组件。 HTML不能更改,但是行和列的数量会经常更改。我很乐意为列而不是行设置限制。 有没有办法在纯CSS中做到这一点? 问题答案: 理想情况下,所需的选择器将定位属性中包含的偶数值。像这样: 基本上,该幻想选择器说: 使用 包含 ()

  • Serenity 使用一些抽象(abstractions)来与你的应用程序自身的用户身份验证和授权机制一起工作。 Serenity.Abstractions.IAuthenticationService Serenity.Abstractions.IAuthorizationService Serenity.Abstractions.IPermissionService Serenity.Abst

  • 请求地址 https://api.es.xiaojukeji.com/river/Auth/authorize 返回数据格式 JSON 请求方式 POST 是否需要登录 否 访问授权限制 调用方访问授权后,将返回的授权信息缓存半小时(缓存过期或调用服务时返回401=>access_token不合法或已过期,再重新申请授权),不要每次调用接口都申请一次授权。 请求参数 名称 类型 必选 描述 cli

  • 说明 调用方访问授权后,将返回的授权信息缓存半小时(缓存过期或调用服务时返回401=>access_token不合法或已过期,再重新申请授权),不要每次调用接口都申请一次授权。 地址URL /v1/Auth/authorize 支持格式 Json或普通form HTTP请求方式 POST 是否需要登录 否 请求参数 名称 类型 必选 描述 client_id string yes 申请应用时分配的