MCPcopy Index your code
hub / github.com/authlib/authlib / create_resource_server

Function create_resource_server

tests/flask/test_oauth1/oauth1_server.py:226–278  ·  view source on GitHub ↗
(app, use_cache=False, lazy=False)

Source from the content-addressed store, hash-verified

224
225
226def create_resource_server(app, use_cache=False, lazy=False):
227 if use_cache:
228 cache = SimpleCache()
229 exists_nonce = create_cache_exists_nonce_func(cache)
230 else:
231
232 def exists_nonce(nonce, timestamp, client_id, oauth_token):
233 q = db.session.query(TimestampNonce.nonce).filter_by(
234 nonce=nonce,
235 timestamp=timestamp,
236 client_id=client_id,
237 )
238 if oauth_token:
239 q = q.filter_by(oauth_token=oauth_token)
240 rv = q.first()
241 if rv:
242 return True
243
244 tn = TimestampNonce(
245 nonce=nonce,
246 timestamp=timestamp,
247 client_id=client_id,
248 oauth_token=oauth_token,
249 )
250 db.session.add(tn)
251 db.session.commit()
252 return False
253
254 def query_client(client_id):
255 return Client.query.filter_by(client_id=client_id).first()
256
257 def query_token(client_id, oauth_token):
258 return TokenCredential.query.filter_by(
259 client_id=client_id, oauth_token=oauth_token
260 ).first()
261
262 if lazy:
263 require_oauth = ResourceProtector()
264 require_oauth.init_app(app, query_client, query_token, exists_nonce)
265 else:
266 require_oauth = ResourceProtector(app, query_client, query_token, exists_nonce)
267
268 @app.route("/user")
269 @require_oauth()
270 def user_profile():
271 user = current_credential.user
272 return jsonify(id=user.id, username=user.username)
273
274 @app.route("/user-no-parens")
275 @require_oauth
276 def user_profile_no_parens():
277 user = current_credential.user
278 return jsonify(id=user.id, username=user.username)

Calls 3

init_appMethod · 0.95
ResourceProtectorClass · 0.90
SimpleCacheClass · 0.85

Tested by 5

test_plaintext_signatureFunction · 0.68
test_hmac_sha1_signatureFunction · 0.68
test_rsa_sha1_signatureFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…