私はXamarin.FormsプロジェクトとTable APIプロジェクトを作成しました。どちらも、Azure Portalのクイックスタートメニューから作成されています。Azure ADサーバー認証、ディレクトリを表示する権限がありません
私はポータルにAzure ADを設定しました。私はXFormsアプリケーションを通じてADからトークンを正常に取得できます。しかし、MobileServiceClientのLoginAsyncメソッドを使用してTable APIにログインしようとすると、「あなたはディレクトリまたはページを表示する権限がありません」というメッセージが表示されます。
私は以下のガイドを見てきましたが、運がありません。
How to configure your App Service application to use Azure Active Directory login
Add authentication to your Xamarin.Forms app
How to: Work with authentication
私はまた、次の質問を見てきたが、解決策を見つけることができませんでした。
Cordova AAD server flow authentication hangs on Android and iOS
私はテーブルAPIプロジェクトに関するいくつかの特定の認証を逃すかもしれないと考えていますか? Constants.ClientIDは、ネイティブクライアントアプリのClientIdをしていないWebサーバである
PCLプロジェクトXFORMS、IN
var ar = await authContext.AcquireTokenAsync(Constants.GraphResourceUri, Constants.ClientId, userCredintials);
JObject payload = new JObject();
payload["access_token"] = ar.AccessToken;
var client = new MobileServiceClient(Constants.ApplicationUrl);
var user = await client.LoginAsync(MobileServiceAuthenticationProvider.WindowsAzureActiveDirectory, payload);
:
は、ここに私のコードとのセットアップです。私はそれを周りに切り替えた場合、私はTABLE APIプロジェクト
[Authorize]
public class StatisticController : ApiController
TABLEのAPIのStartUp.csのCONFIGURATION
public void Configuration(IAppBuilder app)
{
app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions());
ConfigureMobileApp(app);
}
モバイルサービスAUTHのSETUPからコントローラの404
SINGLE SING-ONのADは、私は次のセットアップとポストマンによるエラーを再現することができます
EDIT
「X-ZUMO-AUTH」ヘッダーにaccess_tokenの値を含めることを試みましたが、同じ結果が得られました。まだ許可はありません。私はまた、POST要求内のすべてのヘッダーを変更しないで除外しようとしました。これは、モバイルアプリまたはPostmandからのPOSTリクエストが許可されていないことを意味しますか?
ブラウザで手動でmysite.azurewebsites.net/.auth/login/aadを参照すると、ADからのユーザーでログインできます。だから、ADはサービスと正しくやり取りしているようです。
はmattchendersonにIT
大感謝をFIXED!彼は、GraphResourceUriを通常のグラフapiではなく私のサービスのクライアントIDに変更するべきだと提案しています。クライアントのインスタンスを1つ追加するだけで、私は自分のサービスに正常にログインできます。
新しい回答が追加されました。しかし、同じ結果です。 –
受取人はいませんか?誰も同じような問題がありますか? –