从App中对Azure功能进行身份验证

时间:2016-12-18 11:27:26

标签: azure facebook-c#-sdk azure-functions

我正在为我的Azure功能应用程序使用Facebook身份验证,如果我导航到浏览器中的某个功能,它可以正常工作。我想从应用程序中调用我的函数,但不确定如何执行身份验证。

目前我正在尝试使用Facebook客户端,这会返回一个access_token,然后我转发到我的功能应用程序中的“.auth / login / facebook / callback”功能。不幸的是,就我所知,通过GET执行此操作会返回带有JavaScript的HTML,并通过POST重定向回到Facebook。

我真正需要的是由azure函数AppServiceAuthSession创建的cookie,我相信我可以使用它来调用函数。

编辑:我认为我不能像上面所说的那样使用cookie,所以我需要正确验证。

尼克。

1 个答案:

答案 0 :(得分:4)

在使用Facebook Javascript SDK时,我能够将令牌传递给功能应用程序(我没有运气好的C#) - 也许这会让你朝着正确的方向前进。

客户:

  1. 执行登录Facebook,返回accessToken
  2. 客户需要将此accessToken换成“应用服务令牌”。它通过使用内容https://{app}.azurewebsites.net/.auth/login/facebook{ "access_token" : "{token from Facebook}" }发送POST来完成此操作。这将返回authenticationToken
  3. 在名为authenticationToken的标头中使用x-zumo-auth。使用该标题向您的功能应用程序发出所有请求。
  4. 在功能应用程序中,您应该将当前的Principal设置为登录用户。