当我运行应用程序并单击登录按钮时,我一直在https://dev.office.com/Getting-Started/office365Apis?platform=option-ruby跟踪设置示例Ruby应用程序的步骤我得到一个错误的Uri错误bad argument (expected URI object or URI string)
,它指示我omniauth-azure-active目录gem中的第105行。 (文件azure_activedirectory.rb)
# Constructs a one-time-use authorize_endpoint. This method will use
# a new nonce on each invocation.
#
# @return String
def authorize_endpoint_url
uri = URI(openid_config['authorization_endpoint'])
uri.query = URI.encode_www_form(client_id: client_id,
redirect_uri: callback_url,
response_mode: response_mode,
response_type: response_type,
nonce: new_nonce)
uri.to_s
end
经过进一步调查后,我收到了无效的租户错误。 撬显示:pry image 奇怪的是,如果我在同一个租户下运行node.js和angular sample apps,它运行正常,没有问题。似乎与gem以及它查询Microsoft Graph api的方式存在一些脱节......
答案 0 :(得分:2)
此时,gem只是试图将您重定向到授权URL。我想你的域名moser-inc.onmicrosoft.com存在一些问题。
这是/config/environment.rb
文件中显示的域名吗?
我想知道图书馆是否有连字符问题。
只是为了确认,你从来没有机会输入凭证,对吧? 您可以尝试使用隐身窗口吗?
答案 1 :(得分:2)
这里有一个网站https://dev.office.com/code-samples-detail/2142提供了一步一步的演练,发现它对遇到同样问题的人非常有帮助。