2009-06-03 15 views
5

Tôi đang cố gắng để có được OpenID làm việc trên một ứng dụng Windows Azure. Tôi hiện đang sử dụng DotNetOpenAuth (được sử dụng để được DotNetOpenID) và lần đầu tiên tôi đã có một vấn đề với bước chuyển tiếp kể từ Azure sử dụng cổng 20000 nội bộ và đó là nhận được thông qua qua lại. Tôi tìm thấy một cách giải quyết cho điều này (tôi sẽ viết một bài đăng blog cho nó).Cách tốt nhất để sử dụng xác thực OpenID với Azure?

Vấn đề tiếp theo là khi chạy ứng dụng trên trang trại (nhiều phiên bản), bạn cần phải viết "cửa hàng tùy chỉnh" của riêng mình cho DotNetOpenAuth và lưu dữ liệu vào cơ sở dữ liệu. Đây là một nỗi đau để viết.

Có một cách dễ dàng hơn. Một trong những dịch vụ Azure có lẽ? Có ai chạy thành công một ứng dụng web xác thực với OpenID và chạy trên Azure không? Cách tốt nhất hoặc được đề nghị là gì?

Trả lời

3

Cách dễ nhất để thực hiện việc này là không sử dụng cửa hàng nào cả. Bạn có thể đặt Stateless = true trên một trong các điều khiển đăng nhập nếu bạn đang sử dụng hoặc vượt qua null đến hàm tạo OpenIdRelyingParty. Điều này đặt trang web của bạn vào chế độ không trạng thái OpenID hoặc chế độ 'câm'. Đó là hơi chậm hơn cho người dùng đăng nhập (nếu bạn thậm chí thông báo) và bạn tránh phải viết rằng lớp lưu trữ cơ sở dữ liệu.

Hoặc, bạn có thể vote for more pre-written data stores, including one for Azure trên UserVoice.

Nhân tiện, Azure port problem should have been fixed trong DotNetOpenAuth v3.1. Nếu nó không được vui lòng kích hoạt lại tấm vé đó.

+0

Tôi đã chuyển null vào hàm tạo OpenIdRelyingParty như bạn đã đề xuất và nó hoạt động. Chế độ câm thật tuyệt. Nó có lẽ là cùng một tốc độ bởi vì tôi phải làm một tra cứu cơ sở dữ liệu khác. Vấn đề về URL cũng được sửa, tôi đang sử dụng v3.0. Cảm ơn! –