anchor.diff:      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}}.
   
  
positive.code:     end.
  
  
  logout_rsp_session(Session) ->
      {ok, Type} = watts_session:get_type(Session),
      logout_if_rsp_session(Type, Session).
  logout_if_rsp_session({rsp, _, _}, Session) ->
      logout(Session);
  logout_if_rsp_session(_, _) ->
      ok.
  
  
  
  logout(Session) ->
      watts_session:close(Session).
  
negative.code:                                    msg => UsrMsg} }
              };
          {{ok, _}, oidc, true} ->
              {error, #{result => error, user_msg => DoneMsg}};
          {{ok, _}, oidc, _} ->
              {error, #{result => error, user_msg => OffMsg}};
          {{ok, _}, rest, _} ->
              {error, #{result => error, user_msg => RestMsg}};
          _ ->
              WMsg = "SESS~p additional login request for ~p failed: ~s",
              lager:warning(WMsg, [SessionId, ServiceId, Provider]),
              {error, #{result => error, user_msg => Msg}}
      end;
  handle_credential_result({error, Map}, ServiceId, Session, _Params)
  