2016-08-04 80 views
2

我一直在按照步驟設置示例Ruby應用程序,登錄時https://dev.office.com/Getting-Started/office365Apis?platform=option-ruby,當我運行該應用程序並單擊登錄按鈕時,出現一個錯誤的Uri錯誤bad argument (expected URI object or URI string),它指示我omn​​iauth-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的方式有一些脫節...

回答

2

在那時,gem只是試圖將您重定向到授權URL。我想這是你的域名moser-inc.onmicrosoft.com有問題。

這與出現在/config/environment.rb文件中的域是否相同?

我想知道圖書館是否有連字符問題。

只是爲了確認,你從來沒有機會輸入憑據,對吧? 你可以嘗試從隱身窗口?

+1

是的,它與environment.rb文件中的相同,該文件是從站點自動生成的。幸運的是,我發現這個網站https://dev.office.com/code-samples-detail/2142提供了一個演練,沒有使用omniauth-azure gem。我只是在尋找一些可以解決的問題,所以問題得到了解決。 https://dev.office.com/code-samples-detail/2142 –

+1

和我同意,我認爲'-'是問題的一部分 –