2015-07-13 20 views
14

Tôi cần một số làm rõ về cách Sharepoint sử dụng Oauth và những gì tôi có thể/không thể thực hiện với mã thông báo mang.Sharepoint 2013 và Oauth 2.0

Điều tôi muốn làm là truy lục mã thông báo mang từ Sharepoint, miền chéo qua javascript và/hoặc thiết lập Sharepoint để sử dụng cùng phím máy với máy chủ Oauth hiện tại của tôi.

Tôi đã đọc hầu hết bài viết này và một số bài viết khác nhưng nó đã khiến tôi nảy ra xung quanh mà không có ví dụ rõ ràng. : https://msdn.microsoft.com/en-us/magazine/dn198245.aspx

Tóm tắt:

  1. Tôi cần một đoạn mã để lấy một thẻ vô danh từ Sharepoint sử dụng Javascript, cross-domain và ...

  2. Tôi cần dạo qua các chia sẻ cùng một khóa máy cho các mã thông báo mang theo dựa trên xác nhận quyền sở hữu với Oauth 2.0

Và để làm rõ những gì tôi đang cố gắng làm:

Tôi sẽ cần phải đọc/ghi vào danh sách Sharepoint từ các nền tảng khác nhau và tôi muốn có một cách tiêu chuẩn để làm điều đó. REST có vẻ như là con đường để đi. Các ứng dụng của chúng tôi đang được phát triển bằng cách sử dụng các dịch vụ RESTful và Oauth. Chúng tôi đã có tất cả những gì được bảo hiểm bằng html và javascript. Tôi muốn hiểu cách tiếp tục sử dụng các mẫu Oauth và REST hiện tại của chúng tôi để tạo các giao diện Sharepoint an toàn trên các ứng dụng html của chúng tôi cũng như Java và C# bằng cách sử dụng các mã thông báo mang dấu dựa trên các xác nhận quyền sở hữu. Nếu tôi đi đúng hướng, vui lòng xác nhận và cung cấp một số ví dụ/tài nguyên rõ ràng. Nếu có một cách tốt hơn để làm điều này, tôi là tất cả tai.

Trả lời

2

Mã thông báo của người gửi hoạt động tương tự như tiền, bất kỳ ai có mã thông báo đều là chủ sở hữu hợp pháp. Đó là lý do tại sao thuật ngữ "bearer" (người mang mã thông báo) xuất hiện. Mã thông báo chủ yếu dựa vào SSL/TLS để bảo mật. Bất cứ ai "mang" mã thông báo truy cập sẽ được phép vào.

Để trả lời câu hỏi đầu tiên của bạn, tôi đã nghiên cứu và tìm thấy những gì bạn đang cố gắng làm. Nếu bạn muốn viết nó trong Java Script và sử dụng thư viện tên miền chéo, bạn sẽ không cần cung cấp mã thông báo truy cập.

var executor = new SP.RequestExecutor(appweburl); 
executor.executeAsync(
    { 
    url: 
     appweburl + 
     "/_api/SP.AppContextSite(@target)/web/[email protected]='" + 
     hostweburl + "'", 
    method: "GET", 
    success: successHandler, 
    error: errorHandler 
} 
); 

tôi rằng câu trả lời từ đây: https://msdn.microsoft.com/en-us/library/jj164022.aspx

Đối với câu hỏi thứ hai của bạn tôi nghĩ rằng đó là có thể, nhưng không phổ biến để làm. Rất tiếc, tôi không thích sử dụng cùng một khóa máy như máy chủ Oauth hiện tại của bạn, xin lỗi! Nếu tôi từng thấy điều đó trong tương lai gần, tôi chắc chắn sẽ trả lời câu hỏi đó.

Để làm rõ những gì bạn đang làm, có vẻ như bạn đang đi đúng hướng. Nếu tất cả các ứng dụng của bạn đều sử dụng các dịch vụ RESTful thì có vẻ như REST là cách để đảm bảo. REST có lẽ dễ dàng hơn trong cùng một nghĩa, bởi vì nó sử dụng các yêu cầu HTTP dễ hơn là nói COBRA, RPC hoặc SOAP. Nếu bạn đang tìm kiếm để được an toàn hơn bất cứ điều gì, sử dụng một cái gì đó như SOAP. Mặc dù nó có thể gây tranh cãi.

Một số tài nguyên tốt có thể là xem Thư viện của Microsoft. Họ có hướng dẫn khá tốt mặc dù một số không quá rõ ràng. Microsoft có tài liệu về sự khác biệt giữa SOAP và RESTfound tại đây: https://msdn.microsoft.com/en-us/magazine/dd942839.aspx Đây là liên kết đến Thư viện của Microsoft: https://msdn.microsoft.com/en-us/library/ms310241 OAuth, REST, v.v. có thể khó hiểu và khó hiểu. Tài liệu ở ngoài kia, nhưng đối với những thứ nhất định như sử dụng cùng một khóa máy như OAuth 2.0 của bạn thì khó.

Xin lỗi, nếu tôi không rõ ràng, nhưng nếu bạn cần thêm trợ giúp, chỉ cần trả lời câu trả lời này. Tôi hy vọng điều này đã giúp bạn một số điều và tận hưởng ngày của bạn!

+0

Điều này, chắc chắn, mang lại cho tôi một số hướng. Tôi đang thử nghiệm nó trước khi tôi đánh dấu nó là câu trả lời. Tôi đã vượt qua được sự hiểu biết của Oauth và REST ... Tôi chỉ muốn biết những lựa chọn của tôi là gì với Sharepoint. Tôi đang đọc qua (các) liên kết mà bạn đã cho tôi, ngay bây giờ. Cụ thể, một tập lệnh có tập lệnh bạn đã đăng. Tôi sẽ cho bạn biết nếu đây là những gì tôi đang tìm kiếm. Cảm ơn! –

+0

Chào mừng bạn - Tôi sẽ cố gắng tìm thấy những gì bạn đang tìm kiếm trong câu hỏi thứ hai, nhưng tài liệu khan hiếm. Hy vọng nó đã giúp! – makertech81

+0

"Để trả lời câu hỏi đầu tiên của bạn, tôi đã nghiên cứu và tìm thấy những gì bạn đang cố gắng làm. Nếu bạn muốn viết nó trong Java Script và sử dụng thư viện tên miền chéo, bạn sẽ không cần cung cấp mã thông báo truy cập." Chỉ cần làm rõ, thư viện tên miền chéo chỉ có sẵn từ một bổ trợ Sharepoint, không phải từ bên ngoài. –

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