【发布时间】:2021-07-11 04:25:15
【问题描述】:
由于我一直在处理 Azure B2C 的 issue,我正在考虑使用 notification webhooks 来接收有关何时创建/更新用户的信息。
虽然我能够创建对 users 资源的订阅,但当我通过 Graph API 实际创建/更新用户时,webhook 不会触发。
我创建订阅如下:
POST https://graph.microsoft.com/v1.0/subscriptions
{
"changeType":"updated",
"notificationUrl":"https://a7500b01de1c.ngrok.io/b2chook/Users",
"resource":"users",
"expirationDateTime":"2021-08-09T01:50:17.699528+00:00"
}
监听订阅的 webhook 正在 Python 中通过 Flask 完成。
这是为接收 webhook 通知而编写的当前代码:
class B2CUserHook(Resource):
@staticmethod
def post():
logger.debug(f"Microsoft Graph API notified the endpoint!")
if "validationToken" in request.args:
token = request.args.get('validationToken')
#res = make_response(token, 201)
#res.mimetype = "text/plain"
logger.debug(f"Token to return back to Graph API: {token}")
return Response(token, mimetype="text/plain")
return Response(status=202)
将 url 声明为资源:
api.add_resource(user_controller.B2CUserHook, "/b2chook/Users")
那么,我该如何解决这个问题才能收到通知?
【问题讨论】:
标签: azure azure-active-directory azure-ad-b2c webhooks azure-ad-graph-api