私の頭から離れると、基本的な実装は次のようになります。
(疑似コード)
2つのテーブルを持つMySQLDB:
TABLE user
id int primary key auto increment
username varchar not null
password varchar not null
TABLE subscription
id int primary key auto increment
type int not null
expires date not null
PHPコールバックURL:https ://www.example.com/authenticate.php
戻り値:JSONまたはXMLテイク:投稿データ:ユーザー名:ユーザーパスワード:パス
PHPコードは、渡されたユーザー名とパスワードが正しいかどうかをチェックし、正しい場合は、有効なサブスクリプションがあるかどうかをチェックします。応答としてJSONまたはXMLを返します。
{status:true}または{status:false}
サブスクリプションの種類と有効期限を含めるように応答を拡張して、アプリケーションがオフラインでサーバーと通信できない場合にサブスクリプションをキャッシュできるようにすることができます。
c#アプリケーションは、次のようなコードを使用する必要があります(それが望ましい場合は、xmlに適応します)
string URL = 'https://www.example.com/authenticate.php";
string myParameters = "username=user&password=pass";
using (var webClient = new System.Net.WebClient()) {
webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
string HtmlResult = wc.UploadString(URI, myParameters);
// Now parse with JSON.Net
}
明らかに、上記は完全に機能するコードではありません。構文エラーが発生したことをお詫び申し上げます。初期化ステップでそのコードを使用し、有効なサブスクリプションがない場合はエラーでアプリケーションを閉じます(または任意の動作を使用します)。