Managing Secure Access to Generated Digital Membership Cards on NAS

Rixcy.S.3098
Rixcy.S.3098 Posts: 5 🔍
edited March 31 in Corporate

Hi everyone, I’m currently developing a .NET-based solution and working on a feature for generating user assets dynamically. In this case, the system generates digital membership card files (PDFs with QR codes) that users can access across devices. I’m planning to store these files on a NAS system (TrueNAS), but I’m unsure about the best approach for secure and scalable access.

I’m considering:

  • Direct NAS access (e.g., SMB shares)
  • Using something like Nextcloud as a middleware
  • Or handling everything through an API/application layer

I’d really like some guidance on:

  • Securing access without directly exposing NAS
  • Managing bulk file generation efficiently
  • Any recommended architecture patterns for this kind of setup

If anyone has worked on a similar system, I’d appreciate your insights.

Tagged:

Answers

  • Rixcy.S.3098
    Rixcy.S.3098 Posts: 5 🔍

    Hi everyone, I’ve been working on a lightweight, self-hosted membership card system and wanted to explore how something like this could connect with Brightspace LMS in a practical way. The idea is to replace traditional physical ID or membership cards with a QR-based digital membership card that users can store on their phone. Each card contains a unique QR code that can be scanned for quick verification during events, campus access, or attendance tracking. On the backend, the system is designed to run on a Linux server with a simple stack, keeping things secure and flexible without relying heavily on third-party SaaS tools. The goal is to make it usable in real-world scenarios like student events, workshops, or organizational access control.

    What I’m trying to figure out is how this kind of system could integrate with Brightspace. For example:

    A. Is there a recommended way to sync external user data with Brightspace (via APIs or other methods)?

    B. Can QR-based attendance or check-ins be linked back to course participation or grades?

    C. Has anyone here implemented something similar using webhooks, LTI, or custom integrations?

    I’m especially interested in keeping the setup lightweight and developer-friendly, while still making it useful for instructors and administrators. Would love to hear if anyone has tried integrating external systems like this with Brightspace, or if there are best practices I should follow.

  • Niccolo.C.4346
    Niccolo.C.4346 Posts: 4 🤝🏼 image

    Hello @Rixcy.S.3098,

    For this type of integration, the Brightspace options in official documentation are APIs, LTI 1.3 / LTI Advantage, and Platform Notification Service. The Brightspace developer platform overview is https://docs.valence.desire2learn.com/about.html , and it states that Brightspace includes “all the APIs and tools that developers use to create valuable, integrated solutions for their customers.”

    For secure server-to-server integration, the official Brightspace article is https://community.d2l.com/brightspace/kb/articles/33526-register-an-oauth2-0-application-for-server-to-server-authentication That article states: “Brightspace supports server-to-server API authentication using the OAuth 2.0 Client Credentials grant with Client Assertion (Private Key JWT).” It also explains that this model lets trusted integrations call Brightspace APIs “without user interaction.”

    If your goal is to sync external user data with Brightspace, the official API reference documents user and enrollment endpoints. The Users API page is https://docs.valence.desire2learn.com/res/user.html and documents POST /d2l/api/lp/(version)/users/, which is described as “Create a new user entity.” The Enrollments API page is https://docs.valence.desire2learn.com/res/enroll.html and documents POST /d2l/api/lp/(version)/enrollments/, which is described as “Create or update a new enrollment for a user.”

    If your goal is to connect an external application back to Brightspace, the official LTI documentation is https://community.d2l.com/brightspace/kb/articles/23660-lti-advantage-v1-3 That article states: “Learning Tools Interoperability® (LTI®) is a standards-based integration that allows Brightspace to connect securely and easily with external learning tools.” It also documents Assignment and Grades Services (AGS), which “allows the LTI tool to create and manage grade objects and exchange scores and instructor comments.” Based on the official documentation I found, this is the documented Brightspace mechanism most directly related to grade exchange with an external tool.

    For event-driven integrations, the official article is https://community.d2l.com/brightspace/kb/articles/26215-platform-notification-service-with-lti-1-3 That article states: “Platform Notification Service allows external learning tools to register, update, and delete tool handlers to receive notices.” The same article also notes that, in its documented functionality, “The first release of Platform Notification Service has the Context Copy Notice.”

    At this time, I was unable to locate official Brightspace documentation that supports direct NAS/SMB integration or direct Brightspace access to external file shares. I also did not find official Brightspace documentation outlining a built-in method to link QR-based attendance or check-in activity directly to course participation. Based on the documentation currently available, the Brightspace integration methods I could confirm for this type of use case are APIs, LTI 1.3 / LTI Advantage, and Platform Notification Service.

    I hope this helps point you toward the officially documented options.