I am writing a functional specification for a project and I wish to express the expected system behaviour in Use Cases.
I have read a bunch of opposing opinions on whether "logging in" should be considered a Use Case or not and my conclusion is that there is no consensus, and that it also depends on the context.
My question is this: assuming that authentication is not a standalone Use Case, how should I describe the authentication requirements and interactions if the functional requirements of the system in question are otherwise expressed in Use Cases?
I assume that in this case a login flow should be an integral part of each and every Use Case. That seems like a lot of repetition, so to avoid that I could extract the login part of the flows to some "Common Flow" and reference that in my Use Cases. Is this a valid approach?
Regardless, the approach seems a little awkward to me (just a subjective opinion). Things would seem more natural if being logged in was a precondition to other Use Cases. How/where should I describe the authentication flows in this case?