メールは何のために使用しますか? ほとんどの場合、電子メールを使用してさまざまなサイトの登録とログインを行い、これらのサイトと連絡を取り合います。彼らはあなたのアカウント、通知などに関する情報を送信できます。 ただし、このような登録では、サイトに可能な限りいつでも書き込むことができる永続的な電子メールを提供します。登録解除は必ずしも役立つとは限りません。 メールボックスが第三者に届き、スパムメーリングリストを取得する場合があります。 スパム対策は優れていますが、合理的な制限があります。
私たちは長い間、サービスをメールの代わりとして位置付けてきました。 そして現在、PushAll IDを使用してサードパーティのサイトにログインする機能に近づいています。
以前は、コールバックURLを指定してIDを取得する機会がありましたが、再入力することはできませんでした。
PushAllを介した入り口の主な機能のうち、強調表示できるものは次のとおりです。
- 匿名。 Google+を使用せずに、またはメールでGoogleアカウントからPushAllにアクセスすると、サードパーティのサイトはあなたのIDのみを認識します 。
- 制御されたフィードバック。 いつでもチャンネルの登録を解除できますが、チャンネルの邪魔をすることはできなくなります。 購読している間、インスタント通知を受け取ります。
サブスクリプションと代替のOAuthログインモデルの後に「開く」ボタンを実装しました。 また、記事の最後で、Host-Tracker.com用に作成した新しいマイクロサービスについて説明します。
なぜ認証が必要なのですか?
少なくとも、これはマイクロサービスに役立ちます。 以前は、何らかの方法でユーザーを決定してマイクロサービス設定を保存するために、ソーシャルネットワークを介して承認を行う必要がありました。 これで2つが判明しました-マイクロサービスは通知を送信でき、PushAllは設定を保存したり他のメカニズムを実行したりするためのユーザー定義を実装します。
このサイトに入る方法を他のソーシャルネットワークに追加すると、すぐにアクセスして、ユーザーが接続したすべてのデバイスに通知を送信できます。 一例として、これはサイトにコメントを書くための簡単なエントリになります。 ここでは、この特定のユーザーがコメントを書いていること、そしてこのコメントへの応答について通知することもできます。 さらに、これがあなたのブログである場合、新しい記事の通知を送信できます(チャンネルの説明でこれについてユーザーに警告するだけです)。 これにより、プッシュ通知のオーディエンスを大幅に増やすことができます。
ユーザーがあなたのサイトの使用をすぐに拒否できる場合、私たちは分離の一般的な考え方を固守します。 一方ではマイナスです-ユーザーに別れの手紙を送ることはできませんが、他方では、ユーザーは個人データが送信されないことに気付いているので、より喜んでログインします。
PushAllを介して認証を行う場合、ユーザーはすでに馴染みのある仕組みを期待しています。ログインし、登録ユーザーのみが利用できるサイトと機能にアクセスし、タブを閉じます-通知が届きます。 PushAllによるユーザー認証では、イベント通知を送信することを想定しています。
私は個人的に、通知のあるサイトからの手紙を待っているケースに非常によく会いましたが、実際にはサイトがそれらを実装していなかったため、単に存在しませんでした。 または、1つの通知が10分以内に到着した場合-その他はすべて切り捨てられます。 同時に、これらのポイントを回避するために、ある種のアラートテープがサイト内に実装されることがよくあります。 プッシュ通知で認証を使用する場合、これらすべての機能を利用します。
使い方は?
コールバックURLを指定し、OAuthに似たプロトコルを使用したID取得アプローチを使用するかどうかを選択する必要があります。
仕事の仕組みはすべて次のとおりです。
- サイトにチャンネルのリンク、たとえばpushall.ru/adminvkまたはクイックログインのリンク-pushall.ru/sign.php?subid=1586を配置します。
- ユーザーはそれに従い、チャンネルにサブスクライブします
- サイトが新しいウィンドウで開き、ユーザー認証用のデータが転送されます
ユーザーがPushAllにまだ登録されていない場合は、Googleアカウントを介してログインし、サイトにアクセスできます。 または、メールで登録してメールを確認し、サイトにアクセスしてください。
彼はクリックすることもできます-いつでも開くと、認証リンクがクリックされます。
2つのユーザー検証アプローチがあります
追加リクエストなしの現在のアプローチ
GETパラメーターを取得します。
pushalluserid = IDと時刻= UNIXTIMEと記号=署名
pushalluserid-ユーザーID
署名を検証するには、md5(key.pushalluserid.time.ipAddress)を使用します。
- ipAddress:IPユーザー
- key-チャンネルのキー。
- time-UNIX時代の始まりからの時間。
信頼のレベルは自分で判断できます。時間が経過するほど、信頼のレベルは低くなります
この方法の欠点のうち-可能性は低いですが、この要求は偽造される可能性があります。 生成されない場合もありますが、キーを知っている側のどこか(突然どこかにキーを指定した場合)
OAuthに似た新しいアプローチ
ほとんどのフィールド名と答えは変更せずに、「OAuthの精神」を伝えようとしました。 ユーザーIDを取得するには、APIを介して送信する必要があるコードを返します。
pushall.ru/api.php?type=oauth&code= CODE &client_id = CHANNEL ID &client_secret = CHANNEL KEY
通常のIDとキーを渡すこともできます-スクリプトは両方を理解します。
JSONが返されます-{"access_token": "1"}
1はユーザーIDです。
CODEの有効期間はわずか5分です。この時間内に転送する必要があります。 これは1回限りです。つまり、IDを再度取得しても機能しません。 利益のために、コールバックURLで、CODEを処理し、受け入れられたIDでユーザーを認証する中間ページを指定してから、サイト自体に移動する必要があります。
リンクpushall.ru/sign.php?subid=ID_CHANNELを使用すると、ユーザーが既にチャンネルに登録している場合は、ワンクリックでユーザーを認証できます。
認証と承認について
実際、PushAll Authを使用すると、ユーザーを認証してユーザーを正確に特定できますが、IDをトークンとして使用すると、PushAllシステムでAPIリクエストを処理する機会が得られます。
それはどのように見えますか
大きな使用例はまだありませんが、Host-Tracker.com向けに最近作成したマイクロサービスの例を挙げることができます。
タスクの名前、ステータス、ダウンタイム、およびダウンタイムの開始時刻を送信します。 クリックで-ページ分析タスクをスローします。 1時間もかかりませんでした。
使用するには、チャンネルに登録し、URLを入力して保存するだけです。
または、たとえば、AdminVKで同様のスキームを使用できます。[開く]ボタンをクリックすると、マイクロサービス設定に移動します
これらの例は、PushAll内部認証を使用して作成されていますが、送信されたデータをこれらのサービスの認証および操作に使用することを妨げるものはありません。
たとえば、サードパーティのITアンケートとMySeriesは両方ともサードパーティ認証を使用しますが、サービスは最終的にPushAllを介したプッシュ通知のみを使用します。
機能はまだテストと改良の段階にあり、提案とフィードバックを歓迎します。