C# 開発

【C# GroupSession】ワンタイムパスワード認証を実行(/api/cmn/otplogin.do?)

準備

(なし)

デザイン

  • フォーム (Form1) にボタン (button1) を配置します。
  • フォーム (Form1) にテキストボックス (textBox1) を配置します。

サンプルコード (C#)

using System.Net;
using System.Web;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string LoginUSR = "tanaka";
            string LoginPWD = "9999";

            string GSAddress = "http://192.168.2.122:8080/gsession";
            string GSAPI = "/api/cmn/otplogin.do?";

            string userid = "tanaka";
            string otPassword = "8024";

            textBox1.Text = $@"{GSAddress}{GSAPI}userid={userid}&otPassword={otPassword}";

            var clientInfo = new HttpClientHandler
            {
                Credentials = new NetworkCredential(LoginUSR, LoginPWD)
            };

            var client = new HttpClient(clientInfo);
            var response = client.GetAsync(textBox1.Text).Result;
            var result = response.Content.ReadAsStringAsync().Result;

            textBox2.Text = result;
        }
    }
}

解説

GroupSession の /api/cmn/otplogin.do? をコールすることで、ワンタイムパスワード認証を実行することができます。しかし、GroupSession の通常ログインはワンタイムパスワードでログインするようにしているにも関わらず、今回は失敗。

結果

動作確認環境

Visual Studio 2022 Professional (.NET8 C#12)

ログ

初版:2024.03.02 Visual Studio 2022 Professional (C#12)

-C# 開発