Web APIで認証を行う最も簡単な方法は何ですか?
-
29-09-2019 - |
質問
認証なしでユーザーにデータを提供するWeb APIを持っています(ウェブサイトは、従来のCookieとセッションを使用してログインした後、ユーザーを投稿できます)。誰かが私のデータベースに物事を追加するiPhoneアプリを開発したいので、ユーザーにiPhoneで認証することを望み、APIは投稿を許可します。
それで、私はこれを簡単に行うために何を見るべきですか? APIが安らかになっているので、そのように保つのはいいことです。明らかに私はこれに慣れていませんが、どこから始めればいいのかわからないほど多くの基準があるようです。 1時間以内にコーディングできれば、それは理想的です。
とても有難い!
解決
これを実装するための適切な方法は、アプリ作成者にトークンとアプリIDを提供し、合意された暗号化方法のためにそのトークンを塩として使用して、ユーザー名とパスワード(プラスアプリID)を新しいものに送信することです。 API新しいセッションを呼びます。
新しいセッションのリクエストを受信すると、提供されたAPPIDに基づいてトークンを調べ、トークンを使用してユーザー/パスを復号化しようとします。
ユーザー/パスが受け入れられた場合、新しいセッションを作成してセッションIDを返し、新しいリクエストと一緒に送信できます。
これにより、アプリがすべてのリクエストに対して認証を送信することを防ぎ、特定の時間にセッションを期限切れにすることができます。
他のヒント
WebSecurityはASP.NET MVC 4で導入されました。SimpleMemberShipproviderに依存しています。 FormSauthenticationを使用してCookieを管理します
WebMatrix.WebData.WebSecurity
ISは、ユーザーアカウントの作成、ユーザーのログアウト、リセットまたはパスワードの変更、関連するタスクを実行する機能など、ASP.NET Webページアプリケーションのセキュリティおよび認証機能を提供します。
コードでWebSecurityオブジェクトを使用する前に、WebSecurityデータベースを作成または初期化する必要があります。
Webのルートで、_appstart.cshtmlという名前のページ(またはページを編集)を作成します。
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}
次のコードでリクエストを認証できます。
WebSecurity.Login(LoginName, Password, true)
認証された成功が成功すると、WebSecurityの価値が得られます。
あなたも使用することができます」SimpleRoleProvider
「アプリケーションの役割を管理するため