anchor.diff:                  {ok, Err} = watts_session:get_error(Session),
                   {ok, Redir} = watts_session:get_redirection(Session),
                   ok = watts_session:clear_redirection(Session),
  +                {ok, Rsp} = watts_session:get_rsp(Session),
  +                {SuccessUrl, ErrorUrl} = get_return_urls(Rsp),
                   {watts_session:is_logged_in(Session), Name, Id, Err, Redir,
  -                 undefined, undefined}
  +                 SuccessUrl, ErrorUrl}
           end,
       {ok, Version} = ?CONFIG_(vsn),
       Redirect = io_lib:format("~s~s", [?CONFIG(ep_main), "oidc"]),
  
positive.code:     {ok, OIDCList} = watts:get_openid_provider_list(),
      jsone:encode(#{openid_provider_list => OIDCList});
  perform_get(info, undefined, Session, _) ->
      %% TODO:
      %% add support for minimal ui for RSPs
      {LoggedIn, DName, IssId, Error, AutoService, SuccessRedir, ErrorRedir}  =
          case is_pid(Session) of
              false ->
  
negative.code: update_cookie_or_end_session(Req, #state{session_pid = Session,
                                            type=RequestType}) ->
      {ok, SessionType} =  watts_session:get_type(Session),
      KeepAlive = keep_session_alive(SessionType, RequestType),
      update_cookie_or_end_session(KeepAlive, Session, SessionType, Req).
  
  keep_session_alive(_, logout) ->
      false;
  keep_session_alive(oidc, _) ->
      true;
  keep_session_alive({rsp, _, _}, cred_data) ->
      false;
  keep_session_alive({rsp, _, _}, _) ->
      true;
  keep_session_alive(_, _) ->
      false.
  
  update_cookie_or_end_session(true, Session, SessType, Req) ->
      case watts_session:is_logged_in(Session) of
          true ->
              {ok, Max} = watts_session:get_max_age(Session),
              {ok, Token} = watts_session:get_sess_token(Session),
              watts_http_util:perform_cookie_action(update, Max, Token, Req);
          _ ->
              perform_logout(Session, SessType, Req)
      end;
  update_cookie_or_end_session(false, Session, SessType, Req) ->
      perform_logout(Session, SessType, Req);
  update_cookie_or_end_session(_, _, _, Req) ->
      {ok, Req}.
  
  perform_logout(Session, oidc, Req) ->
      perform_cookie_logout(Session, Req);
  perform_logout(Session, {rsp, _, _}, Req) ->
      perform_cookie_logout(Session, Req);
  perform_logout(Session, _, Req) ->
      watts:logout(Session),
      {ok, Req}.
  
  perform_cookie_logout(Session, Req) ->
      Result = watts_http_util:perform_cookie_action(clear, 0, deleted, Req),
      watts:logout(Session),
      Result.
  
  
  
  get_return_urls(undefined) ->
      {undefined, undefined};
  get_return_urls(Rsp) ->
      watts_rsp:get_return_urls(Rsp).
  