質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

Q&A

解決済

1回答

1083閲覧

iosアプリでAzureサーバとの通信方法

matsu3

総合スコア2

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

0グッド

0クリップ

投稿2022/01/06 01:38

前提・実現したいこと

・サーバー環境の構築などの知識はほぼないです。
・Xcode(swift)を使用したアプリでazureADサーバーへのget,post通信を実現したいです。

現状:ローカルな環境でPC(aptch24,PHP,postgresql)と
wifiルータを経由してiPhoneのアプリ(自作)で通信(get,post)できる環境が構築できています。

PCに構築しているサーバー環境をAzureADの環境?に移行するので既存アプリ側もそれに対応することになり
その前段階としてテスト用の簡単な送信受信をするアプリを作ることになりました。

アプリとしてはテキストフィールドAに文字を打ち込み、
送信ボタンでサーバーに送信、レスポンスをテキストフィールドBに表示といったものを想定しています。
その他、通信先のURLの設定、認証用のID、パスワードの設定項目が必要と考えています。

質問事項

既存のアプリの使用をそのまま使おうとするとAzureへの認証部分で通信ができない可能性が高い (というか恐らくできない)のでその回避方法を知りたいです。 実装における詳細な手順、または実装までに参考できるサイト情報が欲しいです。

試したこと

・サーバー側の環境が構築できていないので試行はできていないです

「SwiftUI App で Azure AD B2C のログインを実装してみた」というサイトを参照して
項目:Azure AD B2C でのアプリケーションの登録 の部分はできないので飛ばして
項目:Xcode で SwiftUI App の作成 からできるところまでやろうとしたのですが
「msal ライブラリのビルドおよびインポート」の
[carthage bootstrap --platform iOS を実行してライブラリをビルドします。]の部分で
[No Cartfile.resolved found, updating dependencies]と出てうまくいっていません。

(Azure AD B2CとAzureADが同じものという認識て試行しています)

補足情報(FW/ツールのバージョンなど)

Xcode(13) swift storybord

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

PCに構築しているサーバー環境をAzureADの環境?に移行するので既存アプリ側もそれに対応する

ここでどういう移行を行うかに依ります。

Azure上のパブリックアクセスを許可するWebサーバーへ移行するのであればホストだけ切り替えれば通信出来ると思います。
アプリケーションの要件として認証が必要であれば、どういう認証が必要なのかを整理してください。その上でiOSアプリに実装します。

Azure AD B2CとAzureADが同じものという認識て試行しています

Azure ADとAzure AD B2Cは別物です。
アプリケーションでマネージドなユーザープールが必要であれば、Azure AD B2Cはソリューションのひとつだと思います。
単純に組織のAzure ADで認証したいのであれば他の方法を取る必要があります。

ただし、前述のとおりWebサーバーがそもそも認証を必要としていないのであれば不要ですし、独自にID・パスワードを組み込む場合も考えられます。

サーバー環境の構築経験がないということで、クラウドを使い慣れていないのであれば、AzureのVirtual Machineにローカルホストと同じ構成(Apache, PHP, Posgtgres)で構築し、パブリックIPアドレスを付与して通信するところから初めてみてください。次点でApp Service(Apache + PHP) + Azure Database for PostgreSQLとか、少しづつアーキテクチャーを改善していくと良いんじゃないでしょうか。

投稿2022/01/06 20:23

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

matsu3

2022/01/06 23:54

確認・回答ありがとうございます (B2Cは別物の件、連絡いただきありがとうございます) 移行の方式はシステムは一般公開はしないようにするために AzureAD Application Proxyというのを使用してSSO(シングルサインオン?)で 入口だけ制限してその中に既存のシステムを入れて運用する想定と情報が来ております。 PC等でアクセスしようとすると恐らく以下のような動きになるようです。 ・認証画面でID・パスワード入力⇨ログインして既存のシステムに触れるようになる アプリで既存のシステム部分にデータを送信しようとするとSSO部分の認証で止められる可能性が高く、 (別件で認証がある状態だと通信が失敗して、認証をなくして運用するしかない状態があったらしく) アプリの通信でこの認証を自動化できる方法があれば知りたかったです。 例えば ・httpに指定の形でID/パスワードを組み込みば自動的に認証して通信ができる ・アプリにライセンスファイル等を組込むことで認証がスルーできる 等
matsu3

2022/03/23 01:10

本件、状況が代わってしまったので 一旦終了とさせていただきます。 ありがとうございました。
Tak1wa

2022/03/23 01:10

いま気づきました。さきほどの件ってこちらと同件でしたかね・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問