Grant Badge when user visits link

I think this could work.

I only want to grant this badge to members of our course.
Is there any way to hide a topic from the general public and only make it available to those who click on it via a link.

Secondly, how can this be done using Dfata explorer plugin?