code: def _create_subject_identifier(self, user_id, client_id, redirect_uri):
          # type (str, str, str) -> str
          
          supported_subject_types = self.configuration_information['subject_types_supported'][0]
          subject_type = self.clients[client_id].get('subject_type', supported_subject_types)
          sector_identifier = urlparse(redirect_uri).netloc
          return self.authz_state.get_subject_identifier(subject_type, user_id, sector_identifier)
docs: Creates a subject identifier for the specified client and user
          see <a href="http://openid.net/specs/openid-connect-core-1_0.html#Terminology">
          "OpenID Connect Core 1.0", Section 1.2</a>.
          :param user_id: local user identifier
          :param client_id: which client to generate a subject identifier for
          :param redirect_uri: the clients' redirect_uri
          :return: a subject identifier for the user intended for client who made the authentication request