

OneDrirveとSharePoint
Onlineのオンラインストレージ領域のフォルダ情報を表示するAndroidアプリを作成しています。Azureアカウントでアプリ登録し、発行されたクライアントIDを取得し、それをアプリに設定しておりますが、OAuthの認証画面でログインしようとするとエラーが発生してしまいます。それぞれのエラーへの対処方法を教えていただけないでしょうか。

OAuth認証画面で、アカウント名とパスワードを入力すると、下記のエラーメッセージが表示され、ログインできません。ログインしようとしているユーザは、新規アプリ登録に使用したアカウントのテナントとは異なるテナントを持つ一般ユーザです。

> エラーメッセージ：Sorry, but we're having trouble signing you in.We received a  
>  bad request.AADTS90093: This application requires application  
>  permissions to another application.Consent for application permissions  
>  can only be performed by an administrator.Sign out and sign in as an  
>  administrator or contact one of your organization's administrators.

このエラーに対して、新規アプリ登録に使用した管理者アカウントでログインを試みましたが、別のエラーが発生してしまいました。

> エラーメッセージ：Sorry, but we*re having trouble signing you in.We received a  
>  bad request.AADSTS50011: The reply address '<http://localhost:8000>'  
>  does not match the reply addresses configured for the  
>  application:'クライントID' More details: not specified.

これらのエラーへの対処方法を教えていただきたいです。  
また、一般ユーザでもログイン可能にしたいのですが、AzureADに登録しているアプリ設定を変更すれば可能なのでしょうか。


CC BY-SA 3.0
2016-11-14T07:51:45.640
30392
2017-01-27T03:12:00.740
2016-11-14T09:12:59.983
19557
question
android azure
OneDriveへのOAuth認証時に、AADTS90093、AADSTS50011というエラーが発生し、ログインが失敗する。


管理者への許可が必要なAPIを利用する場合、最初に対象テナントの管理者から承認を得る必要があります。

承認を得る実際の作業としては、対象テナントの管理者アカウントで固定のURLにアクセスし、承認ボタンを押します。

具体的な説明は以下のサイトを参考にしてください。  
<https://blogs.msdn.microsoft.com/tsmatsuz/2016/10/07/application-permission-
with-v2-endpoint-and-microsoft-graph/>

上記の内容にある

> <https://login.microsoftonline.com/>{tenant
> name}/adminconsent?client_id={application id}&state={some state
> data}&redirect_uri={redirect uri}

が、対象URLになります。

但し、私が試した場合上記URL自体へのアクセスが失敗したため、以下の説明に従い{tenant name}を"common"に変更したところ、成功しました。  
<https://stackoverflow.com/a/32529128/1411521>

なお、この承認作業は最初の一度だけで良いですが、アプリケーションのアクセス許可の設定を変更する際は、その都度やり直す必要があります。


CC BY-SA 3.0
2017-01-27T03:12:00.740
32183
2017-01-27T03:12:00.740
2017-05-23T12:38:55.250
-1
503
30392
answer