TL;博士我想實現的OAuth我科爾多瓦的應用程序(在VS2013多設備的混合應用程序),但與得到的令牌回的PhoneGap的oauth2重定向問題
對於我的實習項目,我已經取得問題一個基本的oauth服務器並將其添加到現有項目中。當移動應用程序將用戶發送到身份驗證頁面時,他會沿着他的ID令牌和重定向URL發送消息。
生成身份驗證和訪問刷新令牌。我只有將它們發送迴應用程序時遇到問題。我localhost都是我的應用程序和身份驗證網站,由於我不能真正測試它的某些方面,我認爲。我無法使用Hyper-V模擬器,因爲他無法鏈接到本地託管網站。
我使用下面的JS代碼從我的科爾多瓦應用程序中提取網址,我不知道這是否可以重定向到用戶的有效網址。
http://www.thecodeship.com/web-development/javascript-url-object/
我用這個代碼給用戶發送至認證頁面。
function goToAuth() {
var test = urlObject();
//Put the url in the demo ID element
appUri = test.protocol + test.host + test.hash + test.pathname + test.search;
var redirecturl = 'http://localhost:50587/Login/IndexMobile?token=gh0BcoTaNUu6fc3GK8jN&redirecturi='+ appUri;
var ref = window.open(redirecturl, '_blank', 'location=yes');
ref.addEventListener('loadstart', function (event) { alert('start: ' + event.url); });
ref.addEventListener('loadstop', function (event) { alert('stop: ' + event.url); });
ref.show();
ref.addEventListener('loaderror', function (event) { alert('error: ' + event.message); });
ref.addEventListener('exit', function (event) { alert(event.type); });}
在asp.net中,我使用這一行代碼將用戶重定向回提供的redirectUri。
return Redirect(redirectUri);
他給了我一個「不是一個有效的路徑」錯誤,雖然,但我認爲這是由於應用程序正在通過當地紋波主持。
現在我知道需要發生的事情是,當用戶完成身份驗證時,該頁面應該關閉,他應該回到應用程序,並且應用程序需要能夠訪問令牌。我首先想到我可以通過將令牌重定向到用戶,但我無法測試這種方法。
我也讀了一些關於JS回調的內容,但我對此並不瞭解,也不知道如何在我的cordova應用中使用它。