• ベストアンサー

UIWebViewとUIIDログインは組合せ可能?

お世話になります。 現在、HTML、CSS、PHP、MySQL、JavaScriptを用いたサイトの運営をしています。 (スマホには最適化されているのですが、iPhoneやAndroidのアプリ開発の経験がありません。) 今後、UIWebView を使って、そのまま該当サイトを表示するiPhoneアプリを作成しようと考えているのですが、その際、UIID等によるログイン機能を実装したいと考えています。 ※WEBページにおいてはID、パスワードでのログインを実現していますが、アプリにおいては簡易化するためです。 まず、そのようなことが可能かどうかお伺いできませんでしょうか。 また、可能な場合、具体的な実装の流れを、概略でも結構ですのでご教示いただけると助かります。 MACは所有していますので、iPhoneアプリの開発環境として必要なものは揃っています。 どうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#177743
noname#177743
回答No.2

>UDIDがセンシティブな情報として取得非推奨とされていることを受け、代替の永続ユニークIDとしての位置付けでUIIDを記載しました。 ああ、本当ですね。すみません、UIDと読み違えてました。Unique Installation IDのことですね。私もこのへんは不勉強なのでよく知りませんでした。ただ、UIIDはiOSの標準ライブラリではまだないはずですね。どこかのライブラリを使うということでしょうか。それであればUDIDと同様に使えるだろうと思います。 補足の件ですが、このあたりはサーバー側の実装がどうなっているのかわからないのでなんともご返事のしようがありません。ただ、基本的な考え方は、本来ユーザー名とパスワードでログインするべきものを何か他の値で代替するということなので、クライアント側で問い合わせ方法の違いを吸収できるのであればサーバー側の変更はいらないはずです。つまりクライアント側の実装次第だろうと思います。 とりあえず、「UIWebViewでログインしアクセスできるか?」という問については「できる」ということになります。ただし、クライアント側でIDを用意したり、パスワードをどう発行し保存するかなどの処理を考える必要があり、それはUIWebView以外のところで自分でアプリに実装するしかないだろう、ということです。その実装次第によっては、サーバー側の変更不要な形で作れるのではないか、ということです。抽象的な表現になってしまいますが……。

CPACBCEO
質問者

お礼

chiiba_kunさん、ご回答ありがとうございます。 大まかな道筋をご教授いただいたので、具体的な実装は自身で試行錯誤しながらやっていこうと思います。 初iPhoneアプリなので道のりは長いかもしれませんが、頑張ってみます。 ありがとうございます。

その他の回答 (1)

noname#177743
noname#177743
回答No.1

UIDというか、UDID(デバイスID)のことですね。iPhoneには、従来の携帯のUIDそのものはないので。 やったことないですが、できないことはないように思います。 まず、UIDeviceを使ってUDIDを取得する。 サイトに用意されたログインのアドレスに、HTTPSでUDIDをPOST送信する。 サーバー側で、送信されてきたUDIDでユーザーを認証し、ログイン後のページにリダイレクトする。 以後、セッションを保持してユーザーを識別しながらページを表示していく。 こんな流れでいけそうな感じがします。UDIDさえ取得できれば、後は普通のセッションによるユーザー管理ですので。 ただ、パスワードの登録をどうするかを考えないといけませんね。単にUDIDだけだと成りすましによるアクセスが可能になってしまうでしょう。アプリにパスワード登録の画面を用意しておいて、そこからサイトにパスワードをHTTPS/POST送信し登録しておく。同時にアプリ側にパスワードを保存する。そしてアクセスする際に、UDIDとともにパスワードも送る、というような形になるでしょうか。

CPACBCEO
質問者

補足

chiiba_kunさん、ご回答ありがとうございます。 そうしますと、作業イメージとしては下記のいずれになりますでしょうか? 1.WEBサーバにアップロードされているindex.phpファイルはそのまま利用でき、iPhoneアプリ側でパスワード登録、セッション処理の記述を行う。 2.iPhoneアプリ側でUDID等の取得処理の記述を行った上で、index.phpについてもiPhoneアプリ経由でのアクセスの場合の処理としてパスワードの登録やセッションの処理に関する記述を行う。 プログラミング歴1年未満であり、的外れなことを言っているかも知れませんがよろしくお願いいたします。 ※第一回の質問でUIIDと記載していたのは、UDIDがセンシティブな情報として取得非推奨とされていることを受け、代替の永続ユニークIDとしての位置付けでUIIDを記載しました。

関連するQ&A

専門家に質問してみよう