gpt4 book ai didi

oauth-2.0 - Bigcommerce - 如何请求授权码/访问 token

转载 作者:行者123 更新时间:2023-12-04 21:39:40 25 4
gpt4 key购买 nike

在我的应用程序中,用户在安装应用程序时,需要填写注册表。我需要将 access_token 与用户实例一起保存。

因此,如果用户未注册,我将重定向到注册表单,即。我不保存access_token,但此时,应用程序已注册。这意味着,假设当商店管理员重新登录到应用程序时,他没有再次获得验证码,而是获得了signed_pa​​yload。

因为,我不想在我的数据库中存储未注册的用户,所以我更喜欢调用 api,这将授予我身份验证代码和/或 access_token。

我可以打任何这样的电话吗?

最佳答案

由于您没有指定一种编程语言,我将用 Python 来说明。

您提到了两部分,注册/访问 token 和签名的有效负载。

初始回调流程看起来像这样:

@app.route('/bigcommerce/callback')
def auth_callback():
# Put together params for token request
code = flask.request.args['code']
context = flask.request.args['context']
scope = flask.request.args['scope']
store_hash = context.split('/')[1]
redirect = app.config['APP_URL'] + flask.url_for('auth_callback')

# Fetch a permanent oauth token. This will throw an exception on error,
# which will get caught by our error handler above.
client = BigcommerceApi(client_id=client_id(), store_hash=store_hash)
token = client.oauth_fetch_token(client_secret(), code, context, scope, redirect)
bc_user_id = token['user']['id']
email = token['user']['email']
access_token = token['access_token']

使用 的流程签名有效载荷 看起来像:

@app.route('/bigcommerce/load')
def load():
# Decode and verify payload
payload = flask.request.args['signed_payload']
user_data = BigcommerceApi.oauth_verify_payload(payload, client_secret())
if user_data is False:
return "Payload verification failed!", 401

bc_user_id = user_data['user']['id']
email = user_data['user']['email']
store_hash = user_data['store_hash']

最初在您的数据库中创建用户时,您还可以通过代码功能表示注册日期,然后定期执行 cron 作业以检查他们是否有您的注册帐户。我们没有一个端点来存储他们是否完成了与您的注册,因为这是您的应用程序的功能。

关于oauth-2.0 - Bigcommerce - 如何请求授权码/访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29782548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com