Recommended Posts

Nope, we implemented it in this form for a reason. No one can have you enter your password and harvest the result for malicious purposes. How do we know that you're not also having your application send the login data to your own server for collection and future abuse? We just cannot give out automated trust.

With SOAP webservice I meant more accessing Neowin features like PMs, news and what not. The SOAP service would use a ticket emitted by the server (tho it'd need a way higher timeout, like 5 mins). The ticket would still have to be retrieved by site, a .NET library for such a job could do this with an IE control.

With SOAP webservice I meant more accessing Neowin features like PMs, news and what not. The SOAP service would use a ticket emitted by the server (tho it'd need a way higher timeout, like 5 mins). The ticket would still have to be retrieved by site, a .NET library for such a job could do this with an IE control.

Now you're talking ;)

I'll see what I can cook up for that. Luckily, I'm not a stranger to SOAP in PHP :)

I'd just be wary as that may break over time, but this will always be supported. And if we can get the SOAP interface all set with the ticket, then there's no reason *not* to use this :)

Idea about how authentication could work for a SOAP service:

External browser (paranoia auth):

I didn't fiddle too much with browser controls hosted in applications, but there might be the possibility that you can access the password fields using the DOM, so you need an external method.

Optimal case would be that the application triggers a browser to pop up, by using an URL that contains a session ID (RNG'd by the application). Like:

https://www.neowin.net/soapLogin.php?sid=123456789abcdef123456789abcdef

This would cause a login window to show up in the started browser, and when the login succeeds, it'll store the session on the server including the originating IP address (I suppose you'll be using a seperate session table for SOAP things). The application would poll the server in 5-15sec timespans and monitors the authentication state, by calling a simple URL and returning the text returned (soapAuthState.php?). States returned could be:

- No session / AUTH_NOSESSION

- User is authenticating / AUTH_PENDING

- User authenticated / AUTH_OK:<sidhere>

- Login attempt failed (Application should treat this as login typo) / AUTH_FAILED

- 5 login attempts failed, blocked for 30/60mins / AUTH_BLOCKED:<remainingtimeinsechere>

On successful authentication, the application can use the session ID (or a CRC32 of it, would be faster serverside) sent during the authentication process to perform different SOAP jobs.

The session ticket timeout should be reset when a SOAP function is called (either some specific SOAP job or a plain SOAP refresh function), otherwise it should timeout after 5/10mins.

The HTML for the login window should use JScript to resize itself and emulate a small login window instead of hogging screenspace.

Would be nice to have a SOAP service by the time the Longhorn beta goes to the wide public, regarding sidebar tiles and what not.

I like the idea of a neowin web service, send pm's and reply to topics and other stuff (like performing searches and having the data returned as a .NET DataGrid component, or as any custom xml schema) from any device that supports web services

I also like the idea of a web based login hosted on the neowin servers, take away most chances of your password being stolen.

Edited by The_Decryptor
i think that is a nice idea Tom - i'd think it might be better managed through IVB - have you tried / proposed it there?

I doubt they'll be implementing this on short term. They also want me and my pal to pay a hundred bucks for a forum license to access all features, so I prefer if they get that idea by themselves.

If it's about pushing the maintainer duties off to someone else, a potential SOAP service would be a piggyback thing anyway, since you basically just need access to the database, theor. no hacks whatsoever on the IPB code.

No - i wasn't trying to offload it tom; i merely wondered if this is quite a big feature that perhaps would be better deployed IVB sites wide.

Big? Don't know. Timdorr makes it sound like PHP has support for the SOAP protocol, so it shouldn't be that hard. Most jobs would be just wrapping SQL query results into XML and sending it to the client application. The auth thing itself I wrote above is rather simple IMO.

I had an idea about preventing bad people from exploiting the service

Here's the idea, instead of letting just anybody access the possible webservices, they have to apply for a "Neowin ID" or something like that (by going to www.neowin.net/developer or something), the id would be linked to their specific account and must be sent along with all soap requests, so you can track what programs are doing what, so if a program is suspected of spamming the site, it can be tracked to who wrote it.

I got the idea from the Amazon and Google web services, where the user has to be a registered user and have a id to access the services.

Also, i think the timeout should be extended from 10 minutes to something else, or be able to apply for a longer timeout, because i don't think users would like to re-authenticate every 5-10 mins using a program the access's neowin.

Well the timeout works well for the current login tool....because you only have 60 seconds to restablish contact with Neowin to authenticate the ticket. However, if you guys are looking for a ticket system that works with a web service, that can be continually hit by external apps....does it even make sense to have a timeout??

I mean, you have to get a ticket to authenticate, but then after that, all that unnecessary traffic for reauthentication again and again would bog.... :huh:

Unless what you are talking about is the ticket would expire after x time period of inactivity, and then you have to reauthenicate....so that way a continuous communication between whatever application and Neowin will be good to go.

However, if you guys are looking for a ticket system that works with a web service, that can be continually hit by external apps....does it even make sense to have a timeout??

Yes, however should the timeout be several minutes.

Lets say the timeout is 10 minutes, calling a SOAP job within that timespan would reset the timeout counter on the server, since the server knows the application is active, however if the time between the previous and current job is more than 10 minutes, the server should respond with an expired ticket error. To prevent this however, there should be a simple NOOP job with the only purpose of refreshing the ticket. A client side library would track and handle the ticket refreshing independently (timer thread or whatever).

The timeout period shouldn't be too short, otherwise applications might ream the server, which isn't exactly wanted. Also, if someone creates a client side library, it should share a single session. In .NET you could do this via remoting, native code via RPC.

Lets say the timeout is 10 minutes, calling a SOAP job within that timespan would reset the timeout counter on the server, since the server knows the application is active, however if the time between the previous and current job is more than 10 minutes, the server should respond with an expired ticket error. To prevent this however, there should be a simple NOOP job with the only purpose of refreshing the ticket. A client side library would track and handle the ticket refreshing independently (timer thread or whatever).

yeah this is what I was thinking, just long enough so that the ticket stays active for normal use.

Timdorr makes it sound like PHP has support for the SOAP protocol, so it shouldn't be that hard.

Well, that *is* how my sig gets it's information ;)

Here's the idea, instead of letting just anybody access the possible webservices, they have to apply for a "Neowin ID" or something like that (by going to www.neowin.net/developer or something), the id would be linked to their specific account and must be sent along with all soap requests, so you can track what programs are doing what, so if a program is suspected of spamming the site, it can be tracked to who wrote it.

I've actually thought of something like that, but due to it's complexity, I've wondered: is it really worthwhile to implement? Honestly, I don't think so. I mean, someone can just find the ID of an existing app and piggyback off that. So, it doesn't really offer any level of security and just adds to the complexity of the project.

Lets say the timeout is 10 minutes, calling a SOAP job within that timespan would reset the timeout counter on the server, since the server knows the application is active, however if the time between the previous and current job is more than 10 minutes, the server should respond with an expired ticket error. To prevent this however, there should be a simple NOOP job with the only purpose of refreshing the ticket. A client side library would track and handle the ticket refreshing independently (timer thread or whatever).

Exactly what I was thinking as well.

What I think should be formed now is a list of functions to flesh out the full API to be made available. There's some data we can't provide, but I'm sure there's a lot people could make use of.

I've actually thought of something like that, but due to it's complexity, I've wondered: is it really worthwhile to implement? Honestly, I don't think so. I mean, someone can just find the ID of an existing app and piggyback off that. So, it doesn't really offer any level of security and just adds to the complexity of the project.

You've got a point there.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Disabling open on hover, great! That was so stupid! They need to do a fix, where if a network share is disconnected, it doesn't hang when opening "This PC" for 20 seconds.
    • Microsoft releases major feature updates for stock Windows 11 apps by Taras Buria In addition to releasing new Windows 11 preview builds, Microsoft announced that inbox Windows apps now have dedicated release notes in the official documentation. At long last, users have access to all the release notes for each app, with changes listed in chronological order. Microsoft used to announce feature updates for stock apps with each build. Now, with Windows Insider release notes hosted on the Microsoft Learn website, each app has a dedicated space for its changelog, which is very useful for those who want to track new features and improvements. Alongside that, Microsoft dropped massive feature updates for six stock apps: Clock, Media Player, Calculator, Voice Recorder, Photos, and Paint. Each app packs quite a lot of changes and new capabilities, so here are the release notes. Here are quick notes so that you can jump to the app you are interested in the most: Calculator Camera Clock Media Player Paint Photos Sound Recorder Here is what is new for the Calculator in version 11.2605.9.0: More accurate square-root results — Fixed rare cases where a calculation that should equal zero (like sqrt(2.25) - 1.5) returned a tiny leftover value instead. Readable text in High Contrast themes — Settings text now shows the correct colors in the High Contrast Aquatic and Desert themes. Fixed layout for right-to-left languages — For languages like Arabic and Hebrew, the graph, number pad, equation fields, and scroll buttons now appear correctly oriented. Reliable launch after upgrading — Fixed an issue where upgrading from much older versions could leave outdated settings that stopped the app from opening. Here is what is new for the Camera app (version 2026.2605.7.0): Zoom slider works on more cameras — The zoom slider now works on the latest cameras, respects your system zoom settings, and updates instantly when you change those settings. Full range of zoom levels — Fixed an issue where the zoom slider only showed three steps on some devices that zoom in finer increments. Front camera works on more devices — Resolved a problem that blocked the front-facing camera on certain wide-angle devices. More video resolution choices — You can now pick video resolutions that were previously hidden; the app shows a heads-up warning instead of removing them. QR links you can still use — When a scanned QR code points to something with no matching app, the link is now copied to your clipboard (with a notification) while still offering a Store search. Smarter default settings — When you haven't set a preference, the app now follows your system settings by default. The Clock app has a massive changelog with the following improvements in version 11.2605.9.0: Timers keep counting after they hit zero — When a timer runs out, it now keeps counting up (for example, -00:27:31) so you can see how far past the time you've gone. You can turn off the daily goal — Focus Sessions now include an "Off" option so you can skip setting a daily goal entirely. New 15-minute snooze option — Alarms now offer a 15-minute snooze interval. Run up to 3 countdowns at once — The Countdown Widget now supports three simultaneous countdowns, up from two. Timer Widget notifications now appear — Fixed an issue where the "timer finished" notification didn't show when the timer was started from the widget. Less clutter in Focus Sessions — Tasks you've already completed no longer show up in the Focus Session task list. More accurate focus progress — Fixed a rounding issue that could show your daily focus progress as a minute short (for example, 49 minutes instead of 50). Smoother World Clock comparisons — The World Clock compare page now loads dates as you scroll, so it feels more responsive. Up-to-date World Clock locations — Refreshed country and city names to match their current names. Correct sun and moon icons during midnight sun — Fixed an icon that wrongly showed a moon during all-day daylight in polar regions. Fixed back-button behavior in clock comparisons — Pressing back once now takes you back as expected, instead of jumping the date to 1926. Corrected the Newfoundland time zone — Newfoundland now uses the right time zone (St. John's). Disabled alarms stay looking disabled — Editing a turned-off alarm no longer makes it appear turned on. Cleaner timer cards — The expand button is now turned off on timer cards that have no time set, preventing actions that wouldn't do anything. Clearer theme setting — Updated the wording to "Choose your preferred app theme." Smoother Settings links — The "About" links in Settings no longer trigger an unexpected "switch apps" prompt. Fixed spacing in Spotify settings — Corrected uneven spacing in the Spotify settings card. Better focus visibility in High Contrast — The focus highlight in World Clock is now clearly visible in the High Contrast Aquatic and Desert themes. No more double announcements — Screen readers no longer read the timer value twice. Countdown names read correctly — Screen readers now properly announce the name of each countdown. Keyboard focus stays put — Focus no longer disappears after you press the Timer Reset button. Clearer alarm toggle for screen readers — Tidied up how the alarm on/off switch is announced. The Media Player app received plenty of changes as well (version 11.2605.14.0): Custom captions — You can now personalize how closed captions appear, with caption styling tied to your Windows caption settings, plus a quick link to open those settings directly. "Indexing" banner in the play queue — When your media library is still being scanned, a banner now explains why some items may not appear yet. Fixed the look of selected items — Corrected a layout glitch with selected items in lists. Fewer playback failures — Improved how the app recognizes supported file types, so more files play without issues. Playlists need a name — You can no longer accidentally save a playlist with a blank name. Cleaner look for empty playlists — Improved how a playlist appears when it has no items yet. More stable play queue edits — Fixed a crash that could happen when changing the play queue while the app was switching between sessions. Clearer "missing codec" message — Improved the dialog that appears when a file needs a codec you don't have, with clearer guidance on what to do. A big update is also available for Paint in version 11.2605.61.0: Adjustable eraser transparency — You can now control how transparent the eraser is. Cleaner stamp brush strokes — Fixed visible color shifts and artifacts when using stamp-style brushes. JPEG photos save in place — Opening a rotated JPEG and pressing Save now overwrites the original instead of unexpectedly prompting "Save As." No more crash on bad image files — Opening a damaged or invalid image, from within the app, by double click, or commandline, now shows a clear error message instead of closing the app. Classic selection behavior restored — The selection outline now hides while you move, resize, or rotate a selection, just like in classic Paint. Tidier AI image panel — Fixed missing spacing at the bottom of the AI image generation panel for a cleaner layout. Visible button hover in light theme — Toolbar split buttons now show a clear hover highlight in the light theme. Snappier toolbar — Streamlined how the ribbon lays out, giving a small speed boost at startup. Fewer background crashes — Fixed a crash that could happen while background tasks were finishing up. Stable app shutdown — Prevented rare crashes when closing the app. Fixed layer removal glitch — Deleting the active layer no longer leaves the layers list in an inconsistent state. Here is what is new in the Photos app (version 2026.11060.2004.0): AI watermarking — AI-generated or edited images can now carry a visible Copilot watermark. You choose Never, Always, or Ask Every Time in Settings, with a confirmation when saving. The watermarking is off by default in settings. Better viewing of small images and pixel art — Tiny images (like 16×16 pixel art) now zoom in far more to fill the screen and stay crisp instead of looking blurry. Select scanned text with the keyboard — When text is detected in an image, you can now navigate and select it using the arrow keys, Shift+Arrow, Home/End, and Ctrl+A, with a clear focus highlight. Fixed a crash in text recognition — Resolved a crash that could close Photos while detecting text in images; the app now recovers gracefully. Easier keyboard navigation — Tabbing through the navigation bar no longer stops on hidden controls, so it takes a single Tab to move past it instead of three. And finally, here is the Sound Recorder (version 11.2605.1.0): Waveform shows with Bluetooth mics — The live waveform now displays correctly when you record using a Bluetooth audio device. No more stray scrollbar — A non-working horizontal scrollbar no longer appears at the bottom of the waveform unless you've zoomed in. Mark button ready right away — The Mark button no longer looks grayed out until you hover over it after opening the app. Markers hidden for WAV files — Markers are now turned off for WAV recordings, since that format can't store them — so they're no longer lost silently. Smoother deleting — Quickly pressing Delete and Enter to remove several recordings in a row no longer triggers a "file doesn't exist" error. Fixed a memory issue — Resolved a memory leak that occurred each time a recording started. You can find all these changelogs in the official documentation here.
    • again, an article about Microsoft Edge and ridicules hater's comments
    • From this very same article: "For organizations that prefer a “more deliberate pace”, the Extended Stable channel remains an option."
    • Or every other browser, because they all behave the same, at least the mainstream ones. Firefox does exactly the same: background updates, restart to install them. Haters gotta hate, I guess.
  • Recent Achievements

    • Very Popular
      AndrewSteel earned a badge
      Very Popular
    • Veteran
      Taliseian went up a rank
      Veteran
    • One Month Later
      Clizby earned a badge
      One Month Later
    • One Month Later
      Timaximus earned a badge
      One Month Later
    • Week One Done
      Timaximus earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      512
    2. 2
      PsYcHoKiLLa
      170
    3. 3
      +Edouard
      162
    4. 4
      Steven P.
      85
    5. 5
      ATLien_0
      78
  • Tell a friend

    Love Neowin? Tell a friend!