资源授权
- 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对象。