我一直在按照步驟設置示例Ruby應用程序,登錄時https://dev.office.com/Getting-Started/office365Apis?platform=option-ruby,當我運行該應用程序並單擊登錄按鈕時,出現一個錯誤的Uri錯誤bad argument (expected URI object or URI string)
,它指示我omniauth-azure-activedirectory gem中的第105行。 (文件azure_activedirectory.rb)Office 365 API Ruby示例應用程序已損壞
# 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顯示:pry image 奇怪的是,如果我在相同租戶下運行node.js和angular示例應用程序,它可以正常運行,沒有問題。似乎與Gem和它查詢Microsoft Graph API的方式有一些脫節...
是的,它與environment.rb文件中的相同,該文件是從站點自動生成的。幸運的是,我發現這個網站https://dev.office.com/code-samples-detail/2142提供了一個演練,沒有使用omniauth-azure gem。我只是在尋找一些可以解決的問題,所以問題得到了解決。 https://dev.office.com/code-samples-detail/2142 –
和我同意,我認爲'-'是問題的一部分 –