资源授权

class oauthlib.oauth1.ResourceEndpoint(request_validator, token_generator=None)[源代码]

负责保护资源的端点。

典型用法是使用请求验证器实例化并调用 validate_protected_resource_request 在视图函数周围的装饰器中。如果请求有效,则调用并返回视图的响应。如果无效,则创建并直接从修饰器返回错误响应。

看见 请求验证器 有关为此终结点实现哪些验证器方法的详细信息。

示例装饰器::

from functools import wraps
from your_validator import your_validator
from oauthlib.oauth1 import ResourceEndpoint
endpoint = ResourceEndpoint(your_validator)

def require_oauth(realms=None):
    def decorator(f):
        @wraps(f)
        def wrapper(request, *args, **kwargs):
            v, r = provider.validate_protected_resource_request(
                    request.url,
                    http_method=request.method,
                    body=request.data,
                    headers=request.headers,
                    realms=realms or [])
            if v:
                return f(*args, **kwargs)
            else:
                return abort(403)
validate_protected_resource_request(uri, http_method='GET', body=None, headers=None, realms=None)[源代码]

创建请求令牌响应,如果有效,则使用新的请求令牌。

参数:
  • uri -- 令牌请求的完整URI。

  • http_method -- 有效的HTTP谓词,即GET、POST、PUT、HEAD等。

  • body -- 字符串形式的请求正文。

  • headers -- 请求标头作为字典。

  • realms -- 资源受保护的领域的列表。这将被提供给 validate_realms 请求验证器的方法。

返回:

由2个元素组成的元组。1.如果有效,则为True,否则为False。2.oauthlib.Common.Request对象。