Announcement

Collapse
No announcement yet.

soap+OXUserService+change+password_expired

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • soap+OXUserService+change+password_expired

    hello,
    environment: Ox 7.10 I want to test the provisioning with soap. when I run the perl script following, the timezone attribute is changed without problem however the password_expired attribute does not change. the account password does not expire either password_expired=true or password_expired=false I tested with other attribute exp displayname and the change is also done. please, do you have any idea why?
    thank you
    #!usr/bin/perl


    use warnings;
    use Data:umper;
    use SOAP::Lite;

    my $baseURL = "http://******/webservices/";
    my $nameSpace="http://dataobjects.soap.admin.openexchange.com";

    my $adminmaster = "oxadminmaster";
    my $masterpw = "secret";

    my $ctxadmin = "oxadmin";
    my $ctxadmpw = "admin_password";

    my $masterCreds = SOAP:ata->type("Credentials")->value(
    \SOAP:ata->value(
    SOAP:ata->name("login" => $adminmaster),
    SOAP:ata->name("password" => $masterpw)
    )
    );

    my $ctxCreds = SOAP:ata->type("Credentials")->value(
    \SOAP:ata->value(
    SOAP:ata->name("login" => $ctxadmin),
    SOAP:ata->name("password" => $ctxadmpw)
    )
    );



    my $ctxid = 1;
    my $context = SOAP:ata->type("Context")->value(\SOAP:ata->value(SOAP:ata->name("id" => $ctxid)));

    my $souserclt = SOAP::Lite->ns( $nameSpace )->proxy( $baseURL."OXUserService" );

    $password_expired = "true";
    $timezone = "fr";


    $result =
    $souserclt->change($context,
    SOAP:ata->value("User")->value(\SOAP:ata->value(
    SOAP:ata->name("id" => 3),
    SOAP:ata->name("timezone" => $timezone),
    SOAP:ata->name("password_expired" => $password_expired)
    )),
    $ctxCreds
    );



    die "Error: ".$result->faultstring()."\n $@" if $result->fault();

  • #2
    pleeeeeese any help

    please Martin

    thinks

    Comment


    • #3
      Hi,

      I believe the password_expired field is not used in current App Suite w/o additional authorization plugins. There have been integrations a long time ago which made use of this field but plain App Suite does not react on this flag. I'm pretty sure but not 100% though ;-)


      Wolfgang

      Comment


      • #4
        Thank you, Thank you, Thank you Wolfgang for answering me,

        what is this "additional authorization plugins" ?

        Is there another way to expire password with APIs?

        1000 thinks

        Comment


        • #5
          Hi,
          the point is not really how to "expire" a password but that there is no functionality in the UI to react on an expired password.

          Although the middleware should respect the password expired flag:
          https://gitlab.open-xchange.com/midd...Impl.java#L106

          Did that work for you at least?

          Still the missing UI support remains. What I can see is that the UI should refuse login and present a link to a location where the password change can be executed.
          https://gitlab.open-xchange.com/fron...t/util.js#L130

          Comment

          Working...
          X