LỜI NÓI ĐẦUTrong bối cảnh phát triển mạnh mẽ của công nghệ thông tin và truyền thông,việc quản lý danh t9nh số đã trở thành một thách thức quan trọng đối với các tổ chức và người dùng tr
T/NG QUAN V1 Đ1 T2I
L3 do chọn đ9 t:i
Trong bối cảnh công nghệ thông tin và truyền thông phát triển, quản lý danh tính số đang trở thành vấn đề quan trọng cho người dùng và tổ chức trực tuyến Sự phức tạp trong việc nhớ nhiều tài khoản và mật khẩu, cùng với rủi ro bảo mật, tạo ra nhu cầu cấp thiết cho phương thức xác thực tiện lợi và an toàn OpenID nổi lên như giải pháp tiềm năng, giúp người dùng quản lý danh tính dễ dàng và an toàn hơn.
Chọn đề tài OpenID mang đến cơ hội thực hành và áp dụng kỹ năng phát triển web, bảo mật thông tin và quản lý danh tính số Qua nghiên cứu và triển khai OpenID, chúng em không chỉ học thiết kế và xây dựng ứng dụng web tích hợp xác thực OpenID mà còn hiểu sâu về các cơ chế bảo mật tiên tiến và quy trình xác thực an toàn Đề tài này giúp phát triển kỹ năng phân tích và giải quyết vấn đề thực tế trong công nghệ thông tin, từ triển khai hệ thống xác thực đến bảo vệ thông tin người dùng trước mối đe dọa an ninh mạng Đồng thời, em nắm bắt xu hướng và công nghệ mới nhất trong quản lý danh tính số, từ đó cải thiện trải nghiệm người dùng và nâng cao mức độ bảo mật cho các ứng dụng trực tuyến.
Nghiên cứu về OpenID mang đến cái nhìn toàn diện về các giải pháp xác thực hiện đại, đáp ứng nhu cầu của người dùng và tổ chức Việc áp dụng OpenID trong nhiều bối cảnh, từ thương mại điện tử đến hệ thống quản lý doanh nghiệp, đảm bảo tính linh hoạt và hiệu quả Đề tài này cũng tạo cơ hội cho sự sáng tạo trong thiết kế và triển khai các tính năng xác thực độc đáo, nâng cao tính cạnh tranh của ứng dụng web Qua đó, em không chỉ nâng cao kỹ năng chuyên môn mà còn góp phần xây dựng môi trường kỹ thuật số an toàn và đáng tin cậy hơn.
1.1 Sơ lưc đ1 t2i Đề tài "Nghiên cứu và ứng dụng OpenID trong quản lý danh t9nh số" tập trung vào việc khám phá và đánh giá một trong những giải pháp xác thực phổ biến và tiên tiến nhất hiện nay - OpenID OpenID là một giao thức mở, cho phép người dùng sử dụng một tài khoản duy nhất để đăng nhập vào nhiều dịch vụ và trang web khác nhau, giúp giảm bớt gánh nặng quản lý nhiều tài khoản và mật khẩu.
Nghiên cứu này sẽ cung cấp cái nhìn tổng quan về OpenID, bao gồm lịch sử phát triển, nguyên lý hoạt động và các thành phần chính của giao thức này.
Bài viết này sẽ phân tích các khía cạnh kỹ thuật của OpenID, bao gồm quá trình xác thực người dùng và cơ chế bảo mật thông tin Mục tiêu là giúp người đọc hiểu rõ cách mà OpenID bảo vệ danh tính và dữ liệu cá nhân của người dùng.
Bài viết sẽ đánh giá ưu điểm và hạn chế của OpenID, so sánh với các phương thức xác thực khác như OAuth và SAML, nhằm làm rõ sự khác biệt và khả năng ứng dụng trong các tình huống khác nhau Ngoài ra, nghiên cứu các trường hợp thành công khi triển khai OpenID sẽ giúp rút ra những bài học kinh nghiệm quý báu Đề tài cũng sẽ tập trung vào việc triển khai hệ thống xác thực OpenID trong một ứng dụng web cụ thể, minh họa cách tích hợp OpenID vào quy trình phát triển phần mềm, từ thiết kế giao diện đăng nhập, cấu hình máy chủ OpenID, đến kiểm tra và đánh giá hiệu quả của hệ thống Mục tiêu là cung cấp hướng dẫn chi tiết và thực tiễn cho các nhà phát triển quan tâm đến việc áp dụng OpenID.
Cuối cùng, bài viết sẽ tổng hợp kết quả nghiên cứu về OpenID, đề xuất giải pháp cải tiến và khuyến nghị cho việc sử dụng OpenID trong tương lai Mục tiêu là cung cấp kiến thức chuyên sâu và nâng cao nhận thức về tầm quan trọng của quản lý danh tính số trong kỷ nguyên kỹ thuật số.
CHƯƠNG 2: T/NG QUAN V1 HỆ THỐNG
OpenID là một hệ thống đăng nhập một lần phi tập trung, cho phép người dùng không cần nhớ thông tin đăng nhập cho từng trang web Thay vào đó, họ chỉ cần đăng ký một tài khoản OpenID tại các nhà cung cấp, thường được gọi là i-broker Với tính năng phi tập trung, OpenID có thể được áp dụng trên nhiều trang web khác nhau, mang lại sự thuận tiện cho người dùng trong việc đăng nhập.
OpenID đang được sử dụng phổ biến trên nhiều trang web lớn như AOL, Yahoo, Google, Facebook và Youtube Các mã nguồn mở như NukeViet và Joomla cũng hỗ trợ đăng nhập bằng OpenID, giúp người dùng làm quen với việc sử dụng OpenID trong các dịch vụ trực tuyến.
Vào tháng 5 năm 2005, Brad Fitzpatrick, người sáng lập LiveJournal, đã phát triển giao thức xác thực OpenID đầu tiên trong thời gian làm việc tại Six Apart Đến cuối năm 2009, đã có hơn 1 tỷ tài khoản OpenID và khoảng 9 triệu trang web hỗ trợ thành phần Relying Party Nhiều trang web nổi tiếng như Google, Yahoo, Microsoft và Facebook cũng đã xây dựng thành phần Identity Provider cho OpenID.
Hình 2.1 1 Sự giao tiết giữa các thành phần trong hệ thống OpenId với URI là địa chỉ của Identity
The OpenID system is widely used today, consisting of three key components: Identity Provider, Relying Party, and Identity Selector In this context, the Identity Selector is represented by the browser The roles of these components have been detailed, highlighting their significance in the identification system.
OpenID cung cấp cho người dùng một URI duy nhất, cho phép họ đăng nhập vào nhiều Relying Party khác nhau URI này hoạt động như một Managed Card, tức là một định danh được quản lý tại Identity Provider.
URI không nhất thiết phải là địa chỉ của Identity Provider Ví dụ, URI thực của Identity Provider có thể được lưu trữ trên một máy chủ khác Trong trường hợp này, hệ thống cần sử dụng vị trí Web Server của Identifier URI để xác định địa chỉ URI thực sự của Identity Provider.
2.1.2 Quy trình giao tiếp giữa các thành phần
OpenID có hai cơ chế giao tiếp chính là Smart mode và Dumb mode, tùy thuộc vào khả năng của Relying Party Trong chế độ Smart mode, Relying Party có thể lưu trữ khóa chia sẻ bí mật để phục vụ cho việc chứng thực sau này Ngược lại, chế độ Dumb mode không cho phép Relying Party lưu trữ thông tin, do đó yêu cầu thực hiện thêm một số bước để hoàn tất quá trình chứng thực.
Quy trình định danh của hệ thống OpenID ở chế độ Smart Mode có thể chia làm 3 quy trình con sau:
Quy trình xác định thành phần Identity Provider
Quy trình gởi thuộc t9nh định danh
Quy trình kiểm tra thuộc t9nh định danh
2.1.3 Quy trình xác định thành phần Identity Provider
Hình 2.1 2 Quy trình xác định thành phần Identity Provider
Quy trình xác định thành phần Identity Provider gồm 3 bước được minh họa trong hình 2.1.2:
Bước 1: Người dùng sẽ nhập địa chỉ URL của Relying Party vào Browser.
Bước 2: Dựa vào URL người dùng nhập vào, Browsẻ sẽ giao tiếp với thành phần Relying Party.
Bước 3: Relying Party sẽ trả về Browsẻ trang đăng nhập có hỗ trợ OpenID trong.
Bước 4: Người dùng sẽ điền URI của Identity Provider vào Browser, sao đó nhấn nút “Đăng nhập”.
Bước 5: Browsẻ sẽ chuyển thông tin về URL người dùng nhập vào đến Relying Party
2.1.4 Quy trình gởi thuộc t9nh định danh
PHÂN TACH THIBT KB
Sơ đK Activity diagram
3.1.1 Triên khai dịch vụ OpenID Connnect trên website Dream Chasers
Dream Chaser OpenID hỗ trợ giao thức OpenID 2.0 Directed Identity, cho phép các tên miền lưu trữ trên máy chủ yêu cầu xác thực Khi nhận yêu cầu từ một trang web thứ ba, NukeViet OpenID sẽ kiểm tra tính hợp lệ của tên miền Tên miền được mã hóa thành ID và lưu trữ trên máy chủ của NukeViet.
Khi ID phù hợp, một yêu cầu xác thực sẽ được gửi đến người dùng để cho phép gửi thông tin về website thứ ba Nếu người dùng chưa đăng nhập vào máy chủ NukeViet, hệ thống sẽ gửi yêu cầu đăng nhập Nếu địa chỉ website thứ ba không tồn tại trên máy chủ, yêu cầu xác thực sẽ bị từ chối Dưới đây là sơ đồ và trình tự mô tả quá trình của một phiên đăng nhập.
Hình 3.1 1 Giao diê Kn trang register 3.1.2 X+ l, logic
Khi người dùng không nhâ “p thông tin thì viê “c đăng ký sẽ không được thực
THUC NGHIÊIM
Giao diê I n trang đăng nhâ I p (Login)
Mô tả: giao diê “n trực quan, tối giản, gồm 2 ô input để người dùng nhâ “p thông tin đăng nhâ “p bao gồm các trường:
Email: Đại diê “n cho email đăng nhâ “p của người dùng.
Password: Đại diê “n cho mâ “t khẩu đăng nhâ “p.
Hình 3.2 1 Giao diê Kn t`ng quan trang Login
Khi người dùng không nhập thông tin đầy đủ và nhấn "Log in", hệ thống sẽ thông báo lỗi yêu cầu người dùng cung cấp đầy đủ thông tin Do đó, việc đăng nhập sẽ không được thực hiện cho đến khi thông tin cần thiết được nhập chính xác.
Hình 3.2 2 Thông báo lỗi khi nhấn nPt Log in mà không nhâ Kp đầy dủ thông tin
Khi người dùng nhâ “p sai dữ liê “u email thì sẽ có thông báo lỗi
Hình 3.2 3 Thông báo lỗi địa chỉ email không hợp lê K.
Khi người dùng nhâ “p sai Email hoă “c Password sẽ được thông báo lỗi.
Hình 3.2 4 Thông báo lỗi khi nhâ Kp sai email hoă Kc password
Sau khi người dùng nhâ “p đúng email, password và nhấn Login sẽ được chuyển tiếp tới trang Home.
Giao diê I n Home (trang ch\)
3.3.1 T&ng quan giao diê n Đây là giao diên ch9nh của trang web, nơi hiển thị thông tin khuyến mãi, sản phẩm nổi bâ “t, với giao diê “n bắt mắt, thu hút người nhìn.
Hanh 3.3 1 Giao diên chính trang Home 3.3.2 X+ l, logic
Khi là khách viếng thăm (khách hàng không đăng nhâ “p vào trang web) thì
Hanh 3.3 2 Giao diê Kn thanh Header khi không đăng nhâ Kp.
Khi người dùng đã đăng nhập, hai nút Login và Register sẽ được thay thế bằng biểu tượng người dùng, cho phép truy cập vào hai hành động: xem danh sách đơn hàng đã đặt và đăng xuất khỏi tài khoản.
Hanh 3.3 3 Giao diê Kn action của ngư_i d]ng.
Còn khi đăng nhâ “p với tài khoản admin sẽ có thêm 1 action là Admin dashboard dẫn tới trang admin.
Hanh 3.3 4 Giao diê Kn action của admin
Giao diê I n trang Shop (Shop)
Cửa hàng trực tuyến cung cấp danh sách sản phẩm đang bày bán, đi kèm với thanh công cụ giúp người dùng dễ dàng sắp xếp và tìm kiếm sản phẩm một cách nhanh chóng và hiệu quả.
Người dùng có khả năng tùy chỉnh hiển thị sản phẩm theo cách ngẫu nhiên, đồng thời có thể thay đổi cách sắp xếp sản phẩm bằng cách nhấp vào "short by" và lựa chọn danh mục hiển thị trên trang web, như sofa, ghế, và nhiều loại khác.
Hình 3.4 2 Giao diê Kn thiển thị danh sách sbn phYm theo danh mcc.
Ngoài ra người dùng có thể tìm kiếm sản phẩm theo tên bằng cách nhâ “p tên sản phẩm muốn tìm vào thanh search và nhấn search.
Hình 3.4 3 Hiển thị sbn phYm theo tên tìm kiếm.
Khi muốn mua sản phẩm, người dùng chỉ cần nhấn nút "Thêm vào giỏ hàng" để thêm sản phẩm vào giỏ Để xem các sản phẩm đã thêm, người dùng có thể nhấp vào biểu tượng giỏ hàng trên thanh Header.
Hình 3.4 4 Biểu tượng gid hàng.
Giao diê I n gi] h:ng (Shopping cart)
Khi người dùng nhấn vào biểu tượng giỏ hàng, họ sẽ được đưa đến trang giỏ hàng để xem danh sách các sản phẩm đã chọn Tại đây, người dùng có thể nhấn nút Thanh Toán để tiếp tục quy trình thanh toán.
Hình 3.5 1 Giao diê Kn th`ng quan trang Shopping cart
Trong giỏ hàng, người dùng có thể xóa sản phẩm nào nếu không muốn thanh toán bằng cách nhấp vào dấu “x” ngay bên cạnh sản phẩm.
Hình 3.5 2 Giao diê Kn sau khi xóa sbn phYm trong gid hàng
Người dùng có thể dễ dàng điều chỉnh số lượng sản phẩm muốn mua bằng cách nhấn vào ô số lượng và nhập số lượng mong muốn, hoặc sử dụng nút tăng và giảm để thay đổi số lượng một cách thuận tiện.
Và cuối cùng, người dùng sẽ ấn vào nút Checkout để tiến hàn thanh toán đơn hàng, sau đó người dùng sẽ được chuyển tiếp tới trang Checkout.
Hình 3.5 4 Giao diê Kn trang thanh toán Checkout
Người dùng cần nhập đầy đủ thông tin về địa chỉ nhận hàng, số điện thoại và ghi chú cho đơn hàng Bên phải, thông tin thanh toán sẽ hiển thị tổng tiền, thông tin sản phẩm và số lượng Nếu không cung cấp đầy đủ thông tin và ấn "Đặt hàng", hệ thống sẽ thông báo lỗi và yêu cầu người dùng hoàn tất thông tin trước khi tiến hành thanh toán.
Hình 3.5 5 Thông báo lỗi khi ngư_i d]ng không nhâ Kp thông tin
Người dùng có thể xem được lịch sử mua hàng của mình bằng cách ấn vào Your Order
Hình 3.5 6 Your Order - Xem thông tin lịch sh mua hàng
Hình 3.5 7 Giao diê Kn lịch sh mua hàng của ngư_i d]ng
Giao diê I n Admin
Admin sẽ quản lý 2 thành phần là Product và Category, với các chức năng: thêm , xóa, sửa, tìm kiếm theo tên.
Hình 3.6 1 Giao diê Kn t`ng qua trang admin
Khi admin muốn thêm sản phẩm mới thì sẽ nhấp vào Add New Product, chuyển qua trang Create Product với giao diê “n gồm 7 trưởng thông tin
Hình 3.6 2 Giao diê Kn Create Product
Bạn có thể xem chi tiết sản phẩm bằng cách nhấn vào biểu tượng con mắt, thay đổi thông tin sản phẩm bằng cách nhấn vào biểu tượng bút chì, và xóa sản phẩm bằng cách nhấp vào biểu tượng thùng rác.
Hình 3.6 3 Biểu tượng đUi diê Kn cho thêm, sha, xóa sbn phYm
Giao diê “n Product Detail, hiển thị thông tin chi tiết của sản phẩm
Hình 3.6 4 Giao diê Kn chi tiết sbn phYm
Giao diê “n Edit sản phẩm
Hình 3.6 5 Giao diê Kn chỉnh sha sbn phYm
Khi ta muốn xóa sản phẩm thì sẽ xuất hiê “n modal xác nhâ “n xóa sản phẩm, điều này tránh cho viê “c ta lỡ bấm nhầm xóa mất sản phẩm.
Hình 3.6 6 Xác nhâ Kn xóa sbn phYm
Ta có thể tìm kiếm sản phẩm dựa vào thanh tìm kiếm
Hình 3.6 7 Tìm kiếm sbn phYm theo tên
Tương tự với Product, quản lý Category cũng có các chức năng và giao diê “n như vâ “y.
Hình 3.6 8 Giao diê Kn qubn lO danh mcc (Category)
Giao diê “n chi tiết danh mục (Category)
Hình 3.6 9 Giao diê Kn chi tiết danh mcc (Category)
Hình 3.6 10 Giao diê Kn chỉnh sha danh mcc (Edit Category)
KBT LUÂIN
Trong báo cáo này, chúng tôi đã phân tích một dự án web bán đồ nội thất, nhằm tạo ra một nền tảng trực tuyến giúp khách hàng dễ dàng tìm kiếm và mua sắm các sản phẩm nội thất từ nhiều danh mục đa dạng.
T9nh Năng Ch9nh của Trang Web:
Trang web được thiết kế với giao diện người dùng thân thiện, giúp người dùng dễ dàng tìm kiếm và duyệt qua các sản phẩm nội thất một cách thuận tiện.
Người dùng có thể nhanh chóng tìm kiếm và lọc sản phẩm theo danh mục, mức giá và các thuộc tính khác để dễ dàng tìm thấy sản phẩm mong muốn.
Trang web của chúng tôi cung cấp tính năng giỏ hàng và thanh toán linh hoạt, cho phép người dùng dễ dàng thêm sản phẩm vào giỏ hàng, điều chỉnh số lượng và thực hiện thanh toán một cách thuận tiện.
Quản Lý Tài Khoản: Người dùng có thể đăng ký tài khoản, đăng nhập, quản lý thông tin cá nhân và xem lịch sử mua hàng của họ.
Trang web này được xây dựng trên nền tảng ASP.NET Core MVC, sử dụng ngôn ngữ lập trình C# làm chính Cơ sở dữ liệu được quản lý thông qua Entity Framework Core, giúp việc truy cập và thao tác dữ liệu trở nên dễ dàng và hiệu quả.
Trong tương lai, trang web có thể được mở rộng với nhiều tính năng mới như đánh giá sản phẩm, hệ thống coupon giảm giá, tích hợp thanh toán trực tuyến và hệ thống quản lý kho, nhằm quản lý hàng tồn kho hiệu quả hơn.
Trang web bán đồ nội thất cung cấp trải nghiệm mua sắm trực tuyến thuận tiện và dễ dàng cho người dùng Với giao diện người dùng thân thiện và tính năng linh hoạt, khách hàng có thể dễ dàng tìm kiếm và lựa chọn sản phẩm phù hợp với nhu cầu của mình.
36 hoạt và công nghệ hiện đại đã tạo nên một nền tảng mua sắm nội thất đáng tin cậy và thú vị.
Kết luận này tóm tắt tổng quan về trang web bán đồ nội thất, nhấn mạnh các tính năng quan trọng và công nghệ hiện có, đồng thời đề xuất một số tính năng tương lai có thể được phát triển để nâng cao trải nghiệm người dùng.