anchor.diff:                                     msg => UsrMsg} }
               };
           {{ok, _}, oidc, true} ->
  -            logout_rsp_session(Session),
               {error, #{result => error, user_msg => DoneMsg}};
           {{ok, _}, oidc, _} ->
  -            logout_rsp_session(Session),
               {error, #{result => error, user_msg => OffMsg}};
           {{ok, _}, rest, _} ->
  -            logout_rsp_session(Session),
               {error, #{result => error, user_msg => RestMsg}};
           _ ->
               WMsg = "SESS~p additional login request for ~p failed: ~s",
               lager:warning(WMsg, [SessionId, ServiceId, Provider]),
  -            logout_rsp_session(Session),
               {error, #{result => error, user_msg => Msg}}
       end;
   handle_credential_result({error, Map}, ServiceId, Session, _Params)
  
positive.code:     WMsg = "SESS~p credential request for ~p failed: ~s",
      lager:warning(WMsg, [SessionId, ServiceId, LogMsg]),
      BadCred = #{result => error, user_msg => UserMsg},
      logout_rsp_session(Session),
      {error, BadCred};
  handle_credential_result({error, Reason}, ServiceId, Session, _Params) ->
      {ok, SessionId} = watts_session:get_id(Session),
      ok = watts_session:clear_additional_logins(ServiceId, Session),
      {UMsg, WMsg} = credential_error_message(Reason),
      logout_rsp_session(Session),
      lager:warning(WMsg, [SessionId, ServiceId, Reason]),
      {error, #{result => error, user_msg => UMsg}}.
  
  
negative.code:     end.
  
  
  
  logout(Session) ->
      watts_session:close(Session).
  