25

iOS 7 の新機能の 1 つであるシングル サインオンについて質問があります。

それについての詳細な情報はありますか?誰かが実装のためにすでに試しましたか?多くの記事やドキュメントを検索しましたが、役に立つものは見つかりませんでした。また、Apple および Developers Apple リソースに関する詳細な情報も見つかりませんでした。iOS 7 GM バージョンには SSO の視覚的な設定がありません (そこにあるべきかどうかはわかりません)。

だから私の質問は - 誰かがすでにそれを調査していて、誰かがいくつかのリンクと有用な情報を共有できるかもしれませんか? この機能の技術的な説明はありますか? iOS 7 GM には何らかの形で存在していましたか?

前もって感謝します。

4

3 に答える 3

10

SSO (Kerberos) を iOS7 で動作させるには、次の 3 つのものが必要です。

  1. サーバー側: Kerberos 環境 + HTTP SPNego/Kerberos 認証が構成されています。iOS の SSO は、HTTP(S) に対してのみ機能します。

  2. 以下を含む構成プロファイル:

    • [必須] Kerberos レルム。
    • [必須] Kerberos プリンシパル (通常はユーザー名)。これは空のままにすることができます。その場合、ユーザーはプロファイルのインストール中に指定するよう求められます。
    • [必須] SSO の使用が許可されているページの URL プレフィックスのリスト。ここではワイルドカードを使用できません。プレフィックスがスラッシュ文字で終わらない場合、自動的に追加されます。
    • [オプション] SSO の使用が許可されているバンドル ID のリスト。空の場合はすべてのアプリケーションが許可されます。バンドル ID でワイルドカードを使用できます。
  3. それをサポートするアプリケーションは、Safari と WebKit (UIWebView クラス) です。WWDC 2013 セッション ビデオ番号 301 で説明されているように、NSURLConnection または NSURLSession クラスのいずれかを使用する必要があります。これは、SPNego スキームを使用して認証する場合の HTTP トラフィックの簡単な例です。

クライアント: GET https://login.example.com/adfs/ls/auth/integrated/?data1=aa&data2= ...

サーバー: 401 Unathorized

+header WWW-認証: ネゴシエート

クライアント: GET https://login.example.com/adfs/ls/auth/integrated/?data1=aa&data2= ...

+header Authorization: ネゴシエート [SPNegotInitToken]

サーバー: 200 OK

+header Authorization: Negotiate [SpnegoTargToken]

+ヘッダー セット Cookie [SESSIONID]

「WWW-Authentificate」を受信した後、Kerberos パスワードの入力を求めるダイアログが表示されます (Kerberos チケットがまだ許可されていないか、有効期限が切れていない場合)。Obj-C クラスはすべてのリダイレクトと認証プロセスを自動的に処理するため、ログイン URL にリクエストを送信し、プロファイルでこの URL を許可するだけで済みます。

于 2014-03-10T09:12:15.393 に答える
2

エンタープライズ シングル サインオンを使用すると、ユーザーはデバイスで 1 回サインインするだけで、デバイス上のすべてのアプリがそれを認証に使用できるようになります。Twitter の場合は、以下のリンクが役立ちます。

https://dev.twitter.com/discussions/8231 .

http://eflorenzano.com/blog/2012/04/18/using-twitter-ios5-integration-single-sign-on/

于 2013-09-25T06:28:08.893 に答える