OAuth-Unterstuetzung fuer jdk.httpserver
ulrich
2021-06-19 75423a948de17e3d0f73d6171023df7dad885ff9
src/de/uhilger/httpserver/oauth/BearerAuthenticator.java
@@ -345,34 +345,69 @@
    return new Authenticator.Retry(SC_UNAUTHORIZED);
  }
  
  /**
   * Den Realm dieses Authenticators setzen
   * @param realm der Realm
   */
  public void setRealm(Realm realm) {
    this.realm = realm;
  }
  
  //public Realm getRealm() {
  //  return realm;
  //}
  /**
   * Pruefen, ob ein Nutzer eine Rolle hat
   * @param userId die Kennung des Nutzers
   * @param roleId  die Rollen-ID des Nutzers
   * @return true, wenn der Nutzer die Rolle hat, false wenn nicht
   */
  public boolean hasRole(String userId, String roleId) {
    return realm.hasRole(userId, roleId);
  }
  
  /**
   * Den Eintrag fuer das 'realm'-Attribut
   * zur Nutzung im WWW-Authenticate Header setzen
   *
   * @param wwwAuthRealm der Text fuer das realm-Attribut im
   * WWW-Autehnticate-Header
   */
  public void setWWWAuthRealm(String wwwAuthRealm) {
    this.wwwAuthRealm = wwwAuthRealm;
  }
  
  /**
   * Den Namen des Realms setzen, wie er fuer authentifizierte Benutzer
   * vom Principal ausgegeben werden soll
   *
   * @param principalAuthRealm der Name des Realms fuer authentifizierte
   * Benutzer
   */
  public void setPrincipalAuthRealm(String principalAuthRealm) {
    this.principalAuthRealm = principalAuthRealm;
  }
  
  /**
   * Die Dauer der Gueltigkeit einer Authentifizierung in Sekunden
   * @param seconds die Sekunden, nach denen die Authentifizierung
   * ungueltig wird
   */
  public void setExpireSeconds(long seconds) {
    this.expireSeconds = seconds;
  }
  
  /**
   * Die Dauer bis eine Authentifizierung eine Erneuerung benoetigt in Sekunden
   * @param seconds die Sekunden, nach denen die Authentifizierung
   * eine Erneuerung benoetigt
   */
  public void setRefreshSeconds(long seconds) {
    this.refreshSeconds = seconds;
  }
  
  /**
   * Die Dauer der Gueltigkeit eines Refresh-Token in Sekunden
   *
   * @param seconds die Anzhal Sekunden, die ein Refresh-Token gueltig ist
   */
  public void setRefreshExpireSeconds(long seconds) {
    this.refreshExpire = seconds;
  }