我正在尝试使用天蓝色活动目录向我的Web应用程序添加单点登录。当定向到ms登录屏幕时,我收到消息“查找您的帐户时出现问题。请点击“下一步”重试。”
我在“应用程序注册”中创建了该应用程序,并从那里检索了客户端和租户ID。执行以下代码时,系统提示我输入用户名(登录)。 该应用程序还链接到用户帐户。
我的应用程序“登录”按钮后面的代码
$.ajax({
processData: true,
type: 'GET',
url: '/configuration/test_sso',
success: function (response) {
var w = window.open('about:blank');
w.document.open();
w.document.write(response);
w.document.close();
},
error: function () {
}
});
我的控制器代码
def test_sso
client_id = '00000000-0000-0000-0000-000000000000'
tenant = '00000000-0000-0000-0000-000000000000'
uri = URI.parse("https://login.microsoftonline.com/#{tenant}/oauth2/v2.0/authorize")
http = Net::HTTP.new(uri.host, uri.port)
http.read_timeout = 480
http.open_timeout = 240
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(uri.request_uri)
request.add_field('Content-Type', 'application/x-www-form-urlencoded')
request.body = "client_id=#{client_id}&response_type=id_token&redirect_uri=http://localhost:3000/myapp/oresponse/&scope=openid&response_mode=fragment&state=12345&nonce=67890"
response = http.request(request)
render :text => response.body
end
我被定向到Microsoft“登录”对话框,但是当输入我的Azure广告帐户名称并点击下一步时,我收到消息: “查找您的帐户时出现问题。请点击“下一步”重试。”
我希望我可以在ms屏幕上输入我的用户名和密码,成功后我希望可以调用redirect_uri