Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >Django Rest框架HTTP Post调用和使用Ionic Framework的身份验证

Django Rest框架HTTP Post调用和使用Ionic Framework的身份验证
EN

Stack Overflow用户
提问于 2017-12-05 13:33:22
回答 1查看 481关注 0票数 0

我在我的Django项目中实现了Django Rest框架,这样我就可以使用Django作为我的Ionic Framework应用程序的后端,同时维护我可以用Django制作的web应用程序。我使用oauth工具包访问了OAuth2,但现在我不确定如何从ionic框架端调用http请求来验证用户并获得令牌。到目前为止,在离子方面,我的http请求如下:

代码语言:javascript
代码运行次数:0
复制
login(username, password, url) {
    let headers = new Headers()
    headers.append("Content-Type", "application/x-www-form-urlencoded");

    return this.http.post(url,
      {"username": username,
        "password": password,
      }, {headers: headers})
      .map(res => res.json());
  }

但当我在浏览器中运行它时,我得到的是No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access. The response had HTTP status code 500.

在服务器端,curl命令curl -X POST -d "grant_type=password&username=USERNAME&password=PASSWORD" -u "CLIENT ID:CLIENT SECRET" https://www.example.com/o/token/可以很好地工作,并返回一个令牌,其中用户名、密码、客户机ID和客户机秘密都是各自的值。

我不确定这是否是正确的问题,但我如何将cURL命令转换为可以在我的离子应用程序中使用的东西?

以下是我的Rest框架和CORS设置:

代码语言:javascript
代码运行次数:0
复制
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated'
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'oauth2_provider.contrib.rest_framework.OAuth2Authentication',
    ]
}

CORS_ORIGIN_WHITELIST = [
    'localhost:8100',
]

CORS_ALLOW_CREDENTIALS = True
EN

回答 1

Stack Overflow用户

发布于 2017-12-06 04:11:31

因此,如果您发送的请求的来源是localhost127.0.0.1,这是相同的事情,大多数浏览器将来源作为Null发送,因此最好将CORS_ORIGIN_ALLOW_ALL = True添加到主Django项目的settings.py文件中。

在那里,我收到了关于grant_type无效的错误,所以在我的请求中,我必须添加"grant_type": "password",我还必须添加"client_id": <your client id here>,其中<your client id here>是您的客户端id,不带<>

我还发现Postman是一个很棒的应用程序,可以帮助创建应用程序编程接口,并将cURL命令转换为有效的HTTP请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47654886

复制
相关文章
Kali远程桌面Windows时出现"连接被对端重置"错误
ERROR: rdp.c:140: rdp_recv(), unexpected stream overrun0000 03 00 00 1e 02 f0 80 68 00 01 03 eb 70 10 08 00 .......h....p... 0010 02 03 83 89 43 9f f8 48 33 7e 04 00 16 00 ....C..H3~....
菜菜有点菜
2022/03/16
2.9K0
Kali远程桌面Windows时出现"连接被对端重置"错误
如何重置MySQL或MariaDB Root密码
忘记密码发生在我们大多数人身上。如果您忘记或丢失了MySQL或MariaDB数据库的root密码,如果您有权访问服务器和启用了sudo用户帐户,您仍然可以获得访问权限并重置密码。
黑色技术
2018/10/19
5.5K1
记录神奇的DedeCMS管理员登录密码错误及重置问题
老蒋刚才准备将一个客户的企业网站(采用DedeCMS系统搭建)上线的。因为我们是采用本地主题前端模式,内核的程序一般还是要安装最新的。于是我在真实服务器环境中常规的安装织梦程序的时候没有问题,但是在设置账户密码之后,居然无法登录。
老蒋
2021/12/27
1.9K0
WordPress 如何重置密码
在本文中,我们将讨论两种在您忘记 WordPress 网站密码时让您重新登录 WordPress 网站的方法。
海拥
2022/10/06
3K0
WordPress 如何重置密码
Xmarks不能同步或连接被重置解决方案(修改hosts)
此操作只用来解决firefox插件Xmarks不能同步或连接被重置的问题,通过以下方法可以解决无法访问Xmarks问题。
zhaoJian.Net
2023/02/24
7120
linux mysql重置密码_linux系统重置
大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。 Jetbrains全系列IDE稳定放心使用
全栈程序员站长
2022/11/04
6.2K0
Ubuntu Linux下解决Xmarks不能同步或连接被重置方法
#xmarks 64.147.188.86 www.xmarks.com 64.147.188.92 api.xmarks.com 64.147.188.89 login.xmarks.com 64.147.188.87 sync.xmarks.com 64.147.188.86 static.xmarks.com 64.147.188.86 download.xmarks.com 64.147.188.86 my.xmarks.com 保存后,打开xmarks设置菜单,选择“高级”,加密那个下拉框里面选择“全部加密”,就可以同步了。
zhaoJian.Net
2023/02/24
1.2K0
如何在MySQL 8.0中重置Root密码
在遗忘或丢失MySQL root密码的不幸事件中,您肯定需要一种方法来恢复或重置MySQL 8.0版本中的root密码。
用户2323866
2021/06/18
13.4K0
Nginx怎样隐藏上游错误
当上游出错时,作为负载均衡的Nginx可以实时更换Server,在客户端无感知的情况下重新转发HTTP请求。这一功能在Nginx指令中称为next upstream,本文将详细介绍其用法及实现原理。
陶辉
2023/10/18
4690
Nginx怎样隐藏上游错误
当 kube-proxy 遇到连接重置
最近我一直被一个间歇性连接重置的 bug 所困扰,经过一段时间的调试之后,发现该 bug 是由几个不同的网络子系统联合导致的。通过这几天的深入挖掘和调试,我对 Kubernetes 的网络机制更加熟悉了,对此也有了一些经验总结,分享给社区。
米开朗基杨
2019/08/29
2.4K0
当 kube-proxy 遇到连接重置
如何重置MySQL root密码
在这篇文章中,我们将向您展示如何重置MySQL root密码以备忘记。 以下步骤适用于任何现代Linux发行版。
星哥玩云
2022/08/16
3.8K0
如何重置MySQL root密码
如何在MySQL 8中重置root密码
MySQL中的用户密码存储在用户表中,密码重置实际上是改变该表中记录的值。 要在忘记密码的情况下更改密码,我们的想法是绕过MySQL的身份验证进入系统并使用SQL命令更新记录密码值。
星哥玩云
2022/08/17
1.3K0
【说站】php数组中如何重置索引
1、array_values 函数并不止重置数字索引还会将字符串键名也同样删除并重置。
很酷的站长
2022/11/23
1.6K0
【说站】php数组中如何重置索引
如何在Ubuntu 18.04上重置MySQL或MariaDB Root密码
忘记密码发生在我们最好的人身上。如果您忘记或丢失了MySQL或MariaDB数据库的root密码,如果您有权访问服务器和具有sudo权限的用户帐户,您仍然可以获得访问权限并重置密码。
你在哪里
2018/10/30
3.5K0
重置密码
当用户不小心忘记了密码时,网站需要提供让用户找回账户密码的功能。在示例项目中,我们将发送一封含有重置用户密码链接的邮件到用户注册时的邮箱,用户点击收到的链接就可以重置他的密码,下面是具体做法。 发送邮件设置 Django 内置了非常方便的发送邮件的功能,不过需要在 settings.py 中做一些简单配置。生产环境下通常需要使用真实的邮件发送服务器,配置步骤会比较多一点。不过 Django 为开发环境下发送邮件提供了一些方便的 Backends 来模拟真实邮件的发送,例如直接发送邮件到终端()。在 sett
追梦人物
2018/04/17
4.9K0
重置密码
点击加载更多

相似问题

如何诊断/修复特使代理“上游连接错误或头前断开/重置。重置原因:连接失败”

12

Istio Ingress使用ACM:上游连接错误或头前断开/重置。重置原因:连接终止

11

Google运行上的GRPC :上游连接错误或头前断开/重置。重置原因:远程重置

16

特使:“上游连接错误或头部前断开/重置,重置原因:连接失败”

1419

Istio 1.3服务之间随机的“上游连接错误或头前断开/重置”

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文