wms-plugin-auth-mysql: A Wowza Module for MySQL Authentication

I just finished publishing a new Wowza module: wms-plugin-auth-mysql – MySQL authentication for Wowza. This module is really tweakable and customizable. It basically allows you to authenticate all or a subset of clients connecting to your Wowza Media Server instance. The documentation goes into great detail about how to customize it and get things rolling.

27 thoughts on “wms-plugin-auth-mysql: A Wowza Module for MySQL Authentication

  1. Pingback: TK Kocheran

  2. In your Flash Player publisher or playback component, you’ll need to pass the username and password on connect to Wowza, like so:

        var connection:NetConnection = new NetConnection();
        connection.connect("rtmp://localhost/live", "username", "password");
    
  3. thanks for your code,but can you let me know last question which free flash player easy to edit ,like flow player ,or jwplayer.
    thanks

    • FlowPlayer supports this using a variable passed in while starting playback:

      plugins: {
          influxis: {
              url: 'flowplayer.swf',
              netConnectionUrl: 'rtmp://myhost.com/live',
              // here's where we pass the username and password
              connectionArgs: ['username', 'password']
          }
      }
      
    • Hello! I’m not sure what kind of sample code you’re looking for. Could you be a little more specific? I’d be happy to help!

    • Yes, this is a new feature that has been added with the latest release. The way it works is that it allows you to enforce two things:

      1. That a user is only ever connected from one IP address.
      2. That a user at a single IP address can only watch X streams at once.

      This should be useful for most use-cases.

    • In order to enable the rate-limiter, simply add the following property to your configuration:

      <Property>
          <Name>auth.mysql.ratelimit.enabled</Name>
          <Value>true</Value>
          <Type>Boolean</Type>
      </Property>

      If you’d like to control the amount of streams that one user can watch at one time, you can change the following property to the number you require:

      <Property>
          <Name>auth.mysql.ratelimit.maxStreamsPerUserAndIp</Name>
          <Value>5</Value>
          <Type>Integer</Type>
      </Property>
      • I try to do auth.mysql.ratelimit.maxStreamsPerUser and set value been 1 but user can use 2 ip to watch . How to fix it i not sure must upgrade plugin ? i was buy in 22/09/12

        thank you

  4. Hi there,

    This module is extremely complete, unlike most other out there.

    Although I’m very interested in purchasing the module, I use a membership application that salts and hashes the user’s passwords. Would this module work correctly with it?

    If you need more information about it, I will glady provide it.

    Regards,
    Leo

    • Thanks for your kind regards. In addition to the features listed above, rate-limiting is also included, so I’m glad to hear that you think it’s pretty thorough, because that’s the goal :)

      Salted passwords has been a goal of the project, but it’s a bit difficult to implement on the server-side. For example, you might store your passwords and salts in a single password field on your server like this:

      > select id, username, password from users;
      1       username    sha256$a05bcQ$25afa6b53f077552c5e3ed3509021bf354d2436ce4b98ec4a9404c2c5d6322d9

      Someone else is storing his salts like you, but is not including the hash method in the password field:

      > select id, username, password from users;
      1       username    a05bcQ$25afa6b53f077552c5e3ed3509021bf354d2436ce4b98ec4a9404c2c5d6322d9

      Someone else is storing his salts in a separate database column altogether:

      > select id, username, salt, password from users;
      1       username    a05bcQ    25afa6b53f077552c5e3ed3509021bf354d2436ce4b98ec4a9404c2c5d6322d9

      Many more variants potentially exist and it’s hard to say which one is the most common use case. Also, how are you calculating the hash using the salt? Are you prefixing the input password or postfixing it with the salt? For example, which one of the below are you doing:

      SHA256(password + salt);
      SHA256(salt + password);

      As you can see, implementing a system that works with salted passwords generically is a little difficult to do, as there are lots of possibilities.

      I’m definitely open to implementing this feature but have not done so up till now because of all of these variant possibilities. What is your use case, and is it commonly used?

      • Thanks for the quick reply.

        Hashes are prefixed, and the method is basically the same used by wordpress and phpbb3. The application running is aMember Pro. Passwords are md5 hashed with salt prefixed, i.e.: $hash = md5($salt . $password, TRUE);

        One hash example: $P$BQXLBsqLPuARE4A6w1TCAeaot1qbrQ0

        It uses the phpass script from openwall to salt and hash.

        If you want I can send you the PasswordHash.php file.

        Regards,
        Leo

      • The main point I’m trying to make here is that it’d be difficult for me to write in the salt functionality. To justify throwing upwards of 10 hours on this, it’d be nice if someone would like to sponsor the work. If you’d like to talk to me about doing this, please contact me at my email at rfkrocktk[at]gmail[dot]com.

  5. Hi,
    I m having problem publishing stream via ffmpeg, I am using following string. can you tell me if this is correct
    rtmp://wowza – IP-address/live/stream1?username=xyz&password=abc
    I am trying to use this stream but got error message that
    WARN server comment – Rejected client at 111.111.111.111: Credentials are required for this application.
    Appreciate your help

  6. Hi,

    Please would you be so kind to send me your email because I have some questions about this module.

    For first is it possible to do authorization for RTMP, http(iPhone …) and rtsp stream from MySQL DB, and also is it possible to disable paralel connection per user and do you put the name of URL of streams that customers starts like start and stop time or just link something like that. But most important is auth. for RTMP, iPhone and Android.

    And if we buy this module do we get some PDF for configuration …. ?

    Best regards
    Nik

  7. Hi there,

    I made the purchase of the wowza module yesterday, but still haven’t heard back from you with any kind of instructions on how to get it.

    Can you please contact me on houlz[at]sapo.pt

    Regards.

  8. Hi! I have this plug in. Do you have any complete PDF documentation about this plugin? I have some problems connecting to WowzaMediaEngine 4.0.3 with my personal licence. :)

    connect module to Application.xml: done!
    connect to my database: done! (i hope so)

    Thank you!
    Pavel Prokes/pavel@pavelprokes.cz

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>