本文整理汇总了C#中Nancy.NancyContext.TryParseFacebookSignedRequest方法的典型用法代码示例。如果您正苦于以下问题:C# NancyContext.TryParseFacebookSignedRequest方法的具体用法?C# NancyContext.TryParseFacebookSignedRequest怎么用?C# NancyContext.TryParseFacebookSignedRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nancy.NancyContext
的用法示例。
在下文中一共展示了NancyContext.TryParseFacebookSignedRequest方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FacebookRequestStartup
private Response FacebookRequestStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines, NancyContext context)
{
if (context.Request != null)
{
string[] perms = null;
dynamic signedRequest;
var fbApp = container.Resolve<IFacebookApplication>();
if (context.TryParseFacebookSignedRequest(fbApp.AppId, fbApp.AppSecret, out signedRequest))
{
if (((System.Collections.Generic.IDictionary<string, object>)signedRequest).ContainsKey("oauth_token"))
{
var fb = container.Resolve<FacebookClient>();
fb.AccessToken = signedRequest.oauth_token;
try
{
var result = (IDictionary<string, object>)fb.Get("me/permissions");
perms = ((IDictionary<string, object>)((IList<object>)result["data"])[0]).Keys.ToArray();
}
catch (FacebookOAuthException)
{
// access token is invalid so perms=none
// but don't throw exception.
fb.AccessToken = null;
}
}
}
context.Items[CustomFacebookExtensions.FacebookPermsKey] = perms ?? new string[0];
}
return null;
}