csharp 使用facebook令牌验证您的网络API

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 使用facebook令牌验证您的网络API相关的知识,希望对你有一定的参考价值。

public class TokenValidationAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(HttpActionContext actionContext)
    {
        var token = actionContext.Request.Headers.GetValues("Token").First();
        if (this.IsTokenValid(token))
        {
            base.OnActionExecuting(actionContext);
            return;
        }

        actionContext.Response = new HttpResponseMessage(HttpStatusCode.Forbidden)
                                     {
                                         Content = new StringContent("Unauthorized User")
                                     };
    }

    public bool IsTokenValid(string token)
    {
        using (var client = new WebClient())
        {
            var result =
                client.DownloadString(
                    string.Format(
                        "https://graph.facebook.com/debug_token?input_token={0}&access_token={1}",
                        token,
                        YourFacebookApiKey));
            var facebookToken = JObject.Parse(result);

            return (bool)facebookToken["data"]["is_valid"];
        }
    }
}

以上是关于csharp 使用facebook令牌验证您的网络API的主要内容,如果未能解决你的问题,请参考以下文章

实现令牌认证

使用 Facebook 令牌的 Firebase Unity SDK 身份验证

如何从网站获取 Facebook 身份验证令牌

Facebook 访问令牌 - 服务器端身份验证

仅使用 Facebook 令牌在 iOS 上发送 Firebase 邀请登录 Firebase 身份验证

如何在社交身份验证中存储 facebook 的访问令牌