2017-07-23 23 views
8

Tôi đang cố gắng viết ứng dụng giao tiếp với URL OAuth. Giao tiếp với URL OAuth hoạt động phù hợp và người dùng được nhắc đăng nhập chính xác. Tuy nhiên, do các hạn chế trong URL chuyển hướng cho ứng dụng, tôi không thể chuyển hướng đến miền ứng dụng ms (mà tôi tin là cách bạn mở một ứng dụng UWP trên Windows 10 - hãy sửa tôi nếu giả định này không chính xác!).Chuyển hướng đến ứng dụng UWP từ OAuth mà không cần ms-app

Khác với lưu trữ trang web của riêng tôi và tạo chuyển hướng, có ai biết cách thực hiện việc này không?

Mã Tôi hiện đang sử dụng cho khách hàng là mã mẫu:

try 
{ 
    var webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, url); 

    switch (webAuthenticationResult.ResponseStatus) 
    { 
     case WebAuthenticationStatus.Success: 
      // Successful authentication. 
      result = webAuthenticationResult.ResponseData.ToString(); 
      break; 

     case WebAuthenticationStatus.ErrorHttp: 
      // HTTP error. 
      result = webAuthenticationResult.ResponseErrorDetail.ToString(); 
      break; 

     default: 
      // Other error. 
      result = webAuthenticationResult.ResponseData.ToString(); 
      break; 
    } 
} 
catch (Exception ex) 
{ 
    // Authentication failed. Handle parameter, SSL/TLS, and Network Unavailable errors here. 
    result = ex.Message; 
} 

Vấn đề này thể hiện như thế này:

Error reads: "We can't connect to the service you need right now. Check your network connection or try this again later."

+0

Đối với “Tuy nhiên, do các hạn chế trong URL chuyển hướng cho ứng dụng, tôi không thể chuyển hướng đến miền ứng dụng ms”, tôi có thể biết điều này có nghĩa là gì không? Ý của bạn là bạn muốn kết nối với Đăng nhập một lần, nhưng nhà cung cấp trực tuyến không cho phép bạn đăng ký URI chuyển hướng dưới dạng 'ms-app: // '? –

+0

@ SunteenWu-MSFT vâng, chính xác điều đó! –

Trả lời

3

Trong UWP bạn có thể liên kết một giao thức để ứng dụng của bạn thông qua liên kết sâu, do đó ứng dụng sẽ mở theo mặc định bất kỳ URL nào sử dụng giao thức đó.

Tìm hiểu thêm về liên kết sâu here. Về cơ bản, bạn tạo giao thức riêng của mình (bằng cách tạo ý tôi, bạn chỉ phát minh ra chuỗi chuỗi như "giao thức tuyệt vời của tôi: //") và đăng ký ứng dụng của bạn để phản hồi nó, nó không phải là mili giây -app: //.

Nếu bạn thực sự không thể liên kết với bất kỳ điều gì ngoài giao thức chuẩn, bạn có thể sử dụng dịch vụ rút ngắn URL sau đó sẽ chuyển hướng đến giao thức tùy chỉnh của bạn. Không có nhiều dịch vụ rút ngắn URL cho phép điều này, nhưng đây là một trong những điều đó: https://ipkill.org

+0

Đây chính xác là những gì tôi đang tìm kiếm. Cảm ơn! –

1

Bạn đang cố gắng đăng ký lược đồ chuyển hướng tùy chỉnh mở ra sau khi đăng nhập. Ví dụ: redirect-uri=ms-app://test1 nên mở lược đồ tùy chỉnh, hãy tham khảo link này để tìm hiểu cách đăng ký lược đồ URI tùy chỉnh. Khi lược đồ uri tùy chỉnh được gọi, bạn có thể có lược đồ tùy chỉnh này để gọi ứng dụng UWP của bạn. Lược đồ URI tùy chỉnh bao gồm một tập lệnh (Shell hoặc tập lệnh batch cho windows). Bạn có thể viết một dòng để gọi ứng dụng UWP của bạn.

Các vấn đề liên quan