小编Fel*_* D.的帖子

在Emacs中禁用导航的邪恶模式?或者任何只读缓冲区?

我想在Emacs中找到类似Nerd Tree的东西并找到Nav,它就像基本的emacs文件导航器一样,它适合我.

问题是,当我打开Nav并切换到它的缓冲区时,邪恶模式仍然存在,C-z如果我想使用任何Nav特定命令(例如.for nav-toggle-hidden-files),我必须按下.它让我烦恼.

我试图通过粘贴来解决这个问题已经有几个小时了

(require 'evil)
    (evil-mode 0)
Run Code Online (Sandbox Code Playgroud)

Nav文件中的每一个地方,但显然我做错了.我很确定它会在使用其他插件时再次发生..我该怎么做?

emacs evil-mode

11
推荐指数
3
解决办法
4469
查看次数

使用Django OAuth2 Toolkit以编程方式生成访问令牌

我正在使用Python Social Auth和Django OAuth Toolkit来管理我的用户帐户并限制对我的REST API的访问.

我可以为使用常规手动注册我的应用的用户创建令牌

curl -X POST -d "grant_type=password&username=<user_name>&password=<password>" -u"<client_id>:<client_secret>" http://localhost:8000/o/token/

但是,当我通过访问令牌向PSA注册我的用户时,我想为自己的应用创建一个OAuth2 Toolkit令牌,并将其作为JSON返回给客户端,以便它可以使用它来通过我的API发出请求.

目前,我生成令牌简单地使用generate_tokenoauthlib,是好的做法呢?我应该考虑其他因素吗?

from oauthlib.common import generate_token

...

@psa('social:complete')
def register_by_access_token(request, backend):
    # This view expects an access_token GET parameter, if it's needed,
    # request.backend and request.strategy will be loaded with the current
    # backend and strategy.
    token = request.GET.get('access_token')
    user = request.backend.do_auth(token)

    if user:
        login(request, user)
        app = Application.objects.get(name="myapp")

        # We delete the old one
        try:
            old = AccessToken.objects.get(user=user, application=app)
        except: …
Run Code Online (Sandbox Code Playgroud)

django oauth-2.0 python-social-auth

8
推荐指数
1
解决办法
3308
查看次数

如何从 Ruby 中的包装对象调用委托者的方法

假设我有这个班级和委托人

class MyObject
  def foo
    "foo #{bar}"
  end 

  def bar
    "bar"
  end
end

class MyDelegator < SimpleDelegator
  def bar
    "decorated bar"
  end
end

MyDelegator.new(MyObject.new).foo # => "foo bar"
Run Code Online (Sandbox Code Playgroud)

这显然是由于方法解析链而发生的。#foo在类中找不到MyDelegator,因此将其委托给该类MyObject。当MyObject#foo被调用时,该方法依次调用MyObject#bar.

我可以这样MyDelegator#foo返回:"foo decorated bar"

class MyObject
  def foo
    "foo #{bar}"
  end 

  def bar
    "bar"
  end
end

class MyDelegator < SimpleDelegator
  module MyMethods
    def bar
      "decorated bar"
    end
  end

  def initialize(object)
    super
    object.singleton_class.include(object)
  end
end

MyDelegator.new(MyObject.new).foo # => "foo decorated …
Run Code Online (Sandbox Code Playgroud)

ruby oop delegation

6
推荐指数
0
解决办法
209
查看次数

更改django-allauth render_authentication_error行为

我是python/Django宇宙的新手,刚刚开始了一个我非常兴奋的大项目.我需要让我的用户通过Facebook登录,我的应用程序有一个非常具体的用户流程.我已经建立了django-allauth,一切都按照我的需要运作.我已经覆盖了LOGIN_REDIRECT_URL,以便我的用户在登录时登陆我想要的页面.

但.当用户打开Facebook登录对话框然后关闭它而不登录时,authentication_error.html模板将被渲染allauth.socialaccount.helpers.render_authentication_error,这不是我想要的行为.我希望用户只需重定向到登录页面.

是的,我知道我可以通过将模板放在我的模板中来覆盖模板TEMPLATE_DIRS,但之后网址将不一样.

我得出结论我需要一个中间件来拦截对http请求的响应.

from django.shortcuts import redirect

class Middleware():
    """
    A middleware to override allauth user flow
    """
    def __init__(self):
        self.url_to_check = "/accounts/facebook/login/token/"

    def process_response(self, request, response):
        """
        In case of failed faceboook login
        """
        if request.path == self.url_to_check and\
                not request.user.is_authenticated():
            return redirect('/')

        return response 
Run Code Online (Sandbox Code Playgroud)

但我不确定我的解决方案的效率,也不确定pythonesquitude(我是juste想出了那个词).在没有使用中间件或信号的情况下,我还能做些什么来改变默认的django-allauth行为?

谢谢!

python django django-allauth

5
推荐指数
1
解决办法
237
查看次数

使用OAuth2进行Django Rest Framework身份验证

假设我想构建一个使用RESTful API作为后端的iOS应用程序.

我想要使​​用Django Rest Framework.原因有三:

  1. Python太棒了
  2. Django太棒了
  3. Django Rest Framework很受欢迎且文档齐全

我的应用需要对用户进行身份验证,以控制对不同API端点的访问.我需要通过验证我的客户

  • 我自己的OAuth2提供商
  • 第三方OAuth2提供商(例如Facebook)

我发现Django Oauth Toolkit是创建自己的OAuth2提供程序的事实标准.与Django Rest Framework的集成也很好地记录并且易于实现.

到现在为止还挺好.

现在如果我想通过第三方添加注册/登录?(Facebook,Twitter等).

我猜这是过程的样子.

通过第三方提供商进行身份验证

没有第三方

通过自己的OAuth提供商进行身份验证

我想我需要将社交帐户令牌添加到用户模型(用于重新验证和与第三方APIS交互).Django-allauth这样做,我在我的一个项目中使用它,但遗憾的是django-allauth似乎不适合当前的用例,因为Django不提供客户端.

那么有一种方法(一个应用程序)可以轻松地将社交媒体登录/注册与Django Rest Framework和Django OAuth Toolkit集成吗?我遇到了Python Social Auth,但我不确定如何将它与Django Oauth Toolkit混合使用.

我在正确的道路上吗?

您将如何使用Django实现这样的身份验证体系结构/进程?

谢谢

django rest facebook django-rest-framework python-social-auth

5
推荐指数
0
解决办法
163
查看次数

通过 HTTPS 提供单页面应用程序的必要性

我目前正在开发一个单页应用程序,该应用程序与托管在不同服务器上并受 SSL 保护的 REST api 进行通信。

我想知道是否应该在为单页应用程序提供服务的服务器上设置 SSL 证书,或者只需在后端服务器上设置它就足够了,请考虑以下因素:

  1. 单页应用程序是重置密码链接的端点,查询字符串中带有机密令牌。这些链接通过电子邮件发送给我的用户。当用户单击链接时,他的浏览器会请求单页应用程序。因此,GET 请求和查询字符串均未加密。

  2. 然后,应用程序要求用户输入新密码,新密码通过 ajax 发送到受 SSL 保护的后端。

因此,我的看法是,值得为我的单页应用程序设置 SSL,以确保安全性,因为 GET 请求因此未加密,查询字符串也未加密,并且令牌是敏感信息。但是,如果只考虑第二个因素,则不需要这样做,因为单页应用程序和后端之间的连接是通过 SSL 完成的(因为单页应用程序使用 Ajax 与通过 SSL 保护的端点进行通信) 。

我对吗?还是完全走偏了?谢谢!

security ajax ssl https single-page-application

5
推荐指数
1
解决办法
1046
查看次数

ReactTransitionGroup钩子中的回调是什么?

React.js为名为ReactTransitionGroup的动画提供了一个低级API .在文档中声明,对于钩子componentWillAppear,componentWillEnter并且componentWillLeave,回调作为参数传递.

我的问题是,这个回调究竟是什么以及如何将它传递给那些钩子,文档并没有说出那些回调,除了动画被延迟直到被调用.

javascript animation reactjs

4
推荐指数
1
解决办法
2604
查看次数

获取Facebook Open Graph API查询的用户上下文ID

我目前正在建立一个实验性社交网络来研究社交媒体对客户行为的影响.

我的用户通过Facebook OAuth提供商登录.我存储他们的访问令牌并查询Open Graph API以获取有关他们的信息.

我正在尝试使用我的一个用户的访问令牌为给定的用户上下文使用all_mutual_friends边缘,但我发现如何获得user-context-id获取该信息所需的内容.

它不是您要从中检索共同朋友的用户的ID.我试过了,但得到了一个错误.

我已经通过Open Graph文档浏览了一下,但没有发现任何相关信息user-context-id.

我怎样才能找回它?

facebook facebook-graph-api

4
推荐指数
1
解决办法
1706
查看次数

无法将名称 X 解析为递归 xml 架构中的元素声明组件

我刚刚开始使用 XML 模式。我正在创建一个简单的架构,但我不明白为什么在尝试实现一个简单的递归元素时会出错。我确定这完全是微不足道的。

在这里,我收到以下错误:E [Xerces] src-resolve:无法将名称“节点”解析为 (n)“元素声明”组件。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="root">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="node">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element ref="node" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

在这里,没有root元素,我没有收到错误...

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="node">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="node" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
Run Code Online (Sandbox Code Playgroud)

我完全被0_0迷住了。我怎样才能做到这一点?

xml schema xsd

3
推荐指数
1
解决办法
2万
查看次数

无法向Mongoose查询返回的对象添加新属性

我正在使用Node.js,MongoDB和Express编写API.我似乎无法向我正在迭代的位置对象添加新属性.

我根本不理解我的代码的问题.loc是一个普通的对象,它应该工作.我错了吗?

// **********************************
// GET Locations
// **********************************
// Create endpoint /api/locations for GET

exports.getLocations = function(req, res) {

    // Use the Location model to find all locations
    // of a particular user

    Location.find({}, function(err, locations) {
        if (err)
            res.send(err);
        var counter = 0;
        var l = locations.length;

        //we create a closure to access the current location object
        var closure = function(location) {

             //we are returning the callback
             return function(err, user) {
                if (err)
                    res.send(err);
                counter++;
                console.log("The …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js express

2
推荐指数
1
解决办法
2134
查看次数