私はXamarinフォームを使用してアプリケーションを開発しています。私は青空のポータルにディレクトリを作成しました。インターネット上での参照を参照すると、アクティブディレクトリ認証はMicrosoftログインページを使用してログインします。XamarinのAzure Active Directoryのユーザー名を使用したサイレントログイン
ネイティブログインフォームを作成し、アクティブなディレクトリにユーザー名を渡して認証します。
ユーザー資格情報をプログラマチックに渡してユーザーを認証することはできますか? ユーザー資格情報を渡すにはどうすればよいですか?
私は、次の試してみましたが、私は私のユーザー名は私の電子メールIDで
var request = WebRequest.Create(string.Format(@"https://login.microsoftonline.com/{0}/oauth2/token?client_id=5e811f4f-4fa4-451e-a439-ca05cabc02d7&grant_type=password&[email protected]&password=userpassword&scope=openid", tenant));
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
using (HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse)
{
if (response.StatusCode != HttpStatusCode.OK)
Debug.WriteLine("Error fetching data. Server returned status code: {0}", response.StatusCode);
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
var content = reader.ReadToEnd();
if (string.IsNullOrWhiteSpace(content))
{
Debug.WriteLine("Response contained empty body...");
}
else {
Debug.WriteLine("Response Body: \r\n {0}", content);
}
}
}
"(411)の長さに必要な" 例外が発生しました。正しいユーザー名ですか?私は今、悪い要求エラーを取得しています。何が欠けている?
ほとんどのOAuth2ベースの認証(今)あなたがいることを得るために彼らのOAuthログインプロセスを使用することを強制する/必要ゴールデン・アクセスとリフレッシュ・トークン。マイクロソフト、グーグル、フェイスブックなど(OAuth2システムはすべてこのセキュリティー事実に基づいています)あなたのウェブサイトからユーザーがログインし、あなたのアプリがOAuth UI /プロセス用のAndroid Chrome 'CustomTabs'またはiOS' SFSafariViewController'を使用している場合、あなたのユーザーは再度ログインする必要はなく、Vice Versaもログインする必要があります。 – SushiHangover
お返事ありがとうございます。しかし、私はアクティブディレクトリを暗黙のうちに認証したいと思う。これはどんな方法でも可能ですか?ユーザーのメールとパスワードを渡したいだけです。 – Atul
技術的には、Graph/AD Rest-based APIで何かを行うためにアクセストークンを取得する必要があるため、完全にOAuth2クライアントプロセスを自分で処理することは技術的には可能ですが、 path ... 'プロトコルフロー'と '認証フロー'のMSドキュメントを見直してください。これはデーモン/サーバとしてあなたの "app"を誤って登録していることを意味します:https://docs.microsoft.com/en- us/azure/active-directory/develop/active-directory-authentication-scenarios – SushiHangover