LoginSignup
2
1

More than 5 years have passed since last update.

Azure App ServicesのTwitter認証を使用してサーバサイドでTwitterAPIを使用する為のトークン等を取得する

Posted at

Azure App ServicesではTwitter認証を使用することができます。
これによりサーバサイドでも認証ユーザのアクセストークンを使用してTwitterAPIを利用することができます。

Twitter認証に関しては
Twitter ログインを使用するように App Service アプリケーションを構成する方法

TwitterApiをC#から行う場合にはCoreTweetが便利です、

アクセスユーザのアカウントを使用してTwitterAPIを使用するためにはTwitterのアプリ登録で取得したコンシューマキー,コンシューマシークレットとOAuth認証にて取得されたアクセスキー,アクセスシークレットが必要になります。

それらはフレームワークとしては用意されていないので取得する拡張メソッドを作成してみました。

    public static class TwitterUtils
    {
        public static void SetupUser(this HttpContext context, out string userId, out string accessToken, out string accessTokenSeacret)
        {
            var claims = context.User as ClaimsPrincipal;
            userId =
                claims?.Claims.SingleOrDefault(
                    x => x.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier")?.Value;
            accessToken = context.Request.Headers.GetValues("X-MS-TOKEN-TWITTER-ACCESS-TOKEN")?.FirstOrDefault();
            accessTokenSeacret = context.Request.Headers.GetValues("X-MS-TOKEN-TWITTER-ACCESS-TOKEN-SECRET")?.FirstOrDefault();

        }
    }
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1