Franck Nijhof
2f0eb07624
Migrate legacy typehints in core to PEP-526 ( #26403 )
...
* Migrate legacy typehints in core to PEP-526
* Fix one type
2019-09-03 20:36:04 -07:00
Franck Nijhof
decf13b948
Use literal string interpolation in core (f-strings) ( #26166 )
2019-08-23 09:53:33 -07:00
Paulus Schoutsen
57ef721d5d
Hue tweak registered device type + discovery exception ( #25977 )
...
* Include location name in create user
* Guard against no host in context
* Fix tests and typing
2019-08-16 16:19:00 -07:00
Ville Skyttä
b738082dad
Type check various base components ( #25878 )
...
* Type check various component base classes, disabling bunch of checks for now
* Type hint fixes
* Help mypy out some
* Add more type hints
2019-08-11 20:38:18 -07:00
Joakim Plate
d1b9ebc7b2
Integration requirement check refactor ( #25626 )
...
* Factor out code getting requirements for integration
* Have process requirements raise an exception
* One more lint fix
* Blackify
* Catch new exception
* Let RequirementsNotFound be a HomeAssistantError
* Correct another test
* Split catching of exceptions and avoid complete log
2019-08-07 15:35:50 -07:00
Paulus Schoutsen
620cb74050
Type
2019-07-31 13:08:31 -07:00
Paulus Schoutsen
0ccffc3e55
Lint
2019-07-31 12:46:17 -07:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Ville Skyttä
e8e84fb764
Type check homeassistant.scripts ( #25464 )
...
* Run mypy on homeassistant.scripts, disabling bunch of checks for now
* Declare async_initialize in AuthProvider
* Add some type hints
* Remove unreachable code
* Help mypy out
* Script docstring fixes
2019-07-24 13:18:40 -07:00
Ville Skyttä
17d754dbbf
Optional and Union simplifications ( #25365 )
2019-07-21 10:59:51 -07:00
nierob
979f801488
Avoid creating temporary lists ( #25317 )
...
That gives nano performance improvements as *() is slightly faster
then *[].
2019-07-19 13:36:18 -07:00
Ville Skyttä
a6eef22fbc
Upgrade mypy to 0.710 ( #24666 )
...
* Upgrade mypy to 0.710
* Address mypy 0.710 errors
2019-06-22 10:19:36 +03:00
Paulus Schoutsen
5b0ee473b6
Add get_states faster ( #23315 )
2019-04-23 12:46:22 +02:00
Josef Schlehofer
3b0660ae89
Upgrade pyotp to 2.2.7 ( #23274 )
2019-04-21 09:03:17 +02:00
Jason Hu
6ba2891604
Add trusted_users in trusted networks auth provider ( #22478 )
2019-03-27 21:53:11 -07:00
Paulus Schoutsen
4f5446ff02
Add area permission check ( #21835 )
2019-03-11 11:02:37 -07:00
Jason Hu
fe1840f901
Deprecate http.api_password ( #21884 )
...
* Deprecated http.api_password
* Deprecated ApiConfig.api_password
GitHub Drafted PR would trigger CI after changed it to normal PR.
I have to commit a comment change to trigger it
* Trigger CI
* Adjust if- elif chain in auth middleware
2019-03-10 19:55:36 -07:00
Paulus Schoutsen
5b2c6648fb
Add user group ( #21832 )
...
* Add user group
* Rename system group to plural
2019-03-09 20:07:29 -08:00
Jason Hu
3d8673dbf8
Resolve auth_store loading race condition ( #21794 )
...
* Add lock in auth_store._async_load()
* Python 3.5 does not like assert_called_once()
2019-03-08 14:50:24 -08:00
Jason Hu
4a3b4cf346
Resolve race condition when HA auth provider is loading ( #21619 )
...
* Resolve race condition when HA auth provider is loading
* Fix
* Add more tests
* Lint
2019-03-04 15:55:26 -08:00
Daniel Høyer Iversen
519315f9c8
pylint 2.3.0 ( #21485 )
...
* pylint 2.3.0
* remove const
* disable=syntax-error
2019-02-27 16:10:40 -05:00
Jason Hu
7bae76843c
Add config for trusted networks auth provider ( #21111 )
...
* Add config for trusted networks auth provider
* Lint
* Fix typing
* Fix pylint
* Fix lint
* Add some log information
* Add http.trusted_networks deprecated warning
* Remove log info
* Lint
2019-02-26 14:42:48 -08:00
Robert Schindler
06f3e8137a
Added command_line auth provider that validates credentials by calling a command ( #19985 )
...
* Added external auth provider that calls a configurable program
Closes #19975
* Raise proper InvalidAuth exception on OSError during program execution
* Changed name of external auth provider to command_line
* Renamed program config option to command in command_line auth provider
* Made meta variable parsing in command_line auth provider optional
* Added tests for command_line auth provider
* Fixed indentation
* Suppressed wrong pylint warning
* Fixed linting
* Added test for command line auth provider login flow
* Log error when user fails authentication
* Use %r formatter instead of explicit repr()
* Mix all used names of typing module into module namespace
I consider this nasty and bad coding style, but was requested by
@awarecan for consistency with the remaining codebase.
* Small code style change
* Strip usernames with command_line auth provider
2019-02-06 16:36:41 -08:00
Paulus Schoutsen
73a0c664b8
Allow usernames to be case-insensitive ( #20558 )
...
* Allow usernames to be case-insensitive
* Fix typing
* FLAKE*
2019-01-29 08:28:52 +01:00
Paulus Schoutsen
84a2e5d8fb
Strip login username in backend ( #20150 )
...
* Add modern mode to HA auth provider that strips usernames
* Add tests for async_get_or_create_credentials
* Fix test
2019-01-16 15:03:05 -08:00
Paulus Schoutsen
90df932fe1
Check admin permission before able to manage config entries
2018-12-13 16:13:43 +01:00
Paulus Schoutsen
3928d034a3
Allow checking entity permissions based on devices ( #19007 )
...
* Allow checking entity permissions based on devices
* Fix tests
2018-12-05 11:41:00 +01:00
Matt Hamilton
38b09b1613
Remove stale user salts code ( #19004 )
...
user['salt'] was originally used as a part of the pbkdf2 implementation.
I failed to remove this as a part of the cleanup in #18736 .
2018-12-04 14:39:43 +01:00
Paulus Schoutsen
d2b62840f2
Add users added via credentials to admin group too ( #18922 )
...
* Add users added via credentials to admin group too
* Update test_init.py
2018-12-03 11:34:01 +01:00
Paulus Schoutsen
d1a621601d
No more opt-out auth ( #18854 )
...
* No more opt-out auth
* Fix var
2018-12-02 16:32:53 +01:00
Paulus Schoutsen
df21dd21f2
RFC: Call services directly ( #18720 )
...
* Call services directly
* Simplify
* Type
* Lint
* Update name
* Fix tests
* Catch exceptions in HTTP view
* Lint
* Handle ServiceNotFound in API endpoints that call services
* Type
* Don't crash recorder on non-JSON serializable objects
2018-11-30 21:28:35 +01:00
Paulus Schoutsen
28215d7edd
Make auth backwards compat again ( #18792 )
...
* Made auth not backwards compat
* Fix tests
2018-11-29 22:26:19 +01:00
Matt Hamilton
4f2e7fc912
remove pbkdf2 upgrade path ( #18736 )
2018-11-27 10:42:56 +01:00
Paulus Schoutsen
c2f8dfcb9f
Legacy api fix ( #18733 )
...
* Set user for API password requests
* Fix tests
* Fix typing
2018-11-27 10:41:44 +01:00
Ville Skyttä
7248c9cb0e
Remove some unused imports ( #18732 )
2018-11-27 09:35:35 +01:00
Paulus Schoutsen
8b8629a5f4
Add permission checks to Rest API ( #18639 )
...
* Add permission checks to Rest API
* Clean up unnecessary method
* Remove all the tuple stuff from entity check
* Simplify perms
* Correct param name for owner permission
* Hass.io make/update user to be admin
* Types
2018-11-25 18:04:48 +01:00
Paulus Schoutsen
36c31a6293
Add permissions check in service helper ( #18596 )
...
* Add permissions check in service helper
* Lint
* Fix tests
* Lint
* Typing
* Fix unused impoert
2018-11-21 12:26:08 +01:00
Paulus Schoutsen
f7f0a4e811
System groups ( #18303 )
...
* Add read only and admin policies
* Migrate to 2 system groups
* Add system groups
* Add system groups admin & read only
* Dont' mutate parameters
* Fix types
2018-11-08 12:57:00 +01:00
Paulus Schoutsen
f4ac317d64
Permissions improv ( #17811 )
...
* Break up permissions file.
* Granular entity permissions
* Add "all" entity permission
* Lint
* Fix types
2018-10-29 11:28:04 +01:00
Paulus Schoutsen
312d49caec
Allow creating signed urls ( #17759 )
...
* Allow creating signed urls
* Fix parameter
* Lint
2018-10-25 16:44:57 +02:00
Paulus Schoutsen
08fe7c3ece
Pytest tests ( #17750 )
...
* Convert core tests
* Convert component tests to use pytest assert
* Lint 🤷♂️
* Fix test
* Fix 3 typos in docs
2018-10-24 12:10:05 +02:00
Paulus Schoutsen
61f7a39748
Add permissions foundation ( #16890 )
...
* Add permission foundation
* Address comments
* typing
* False > True
* Convert more lambdas
* Use constants
* Remove support for False
* Fix only allow True
2018-10-11 19:24:25 +02:00
Paulus Schoutsen
61bf4d8a29
Add user events ( #17328 )
2018-10-11 17:06:51 +02:00
Paulus Schoutsen
c3b1121d77
Add group foundation ( #16935 )
...
Add group foundation
2018-10-08 16:35:38 +02:00
Paulus Schoutsen
a559c06d6b
Make it easier for auth to consume newer formats ( #17127 )
2018-10-04 10:41:13 +02:00
Nicko van Someren
e5861241c7
Added support for private storage. ( #16878 )
...
* Addded support for private storage.
Include 'private' flag parameters to the Store class and save_json function.
Updated various authentication and onboarding classes to use private stores.
Fixed unit test for emulated_hue which used a mock patch on save_json().
* Fixed Hound formatting issues not detected by local linting.
2018-09-26 10:24:32 +02:00
Jason Hu
7a77951bb4
Add Notify MFA module ( #16314 )
...
* Add Notify MFA
* Fix unit test
* Address review comment, change storage implementation
* Add retry limit to mfa module
* Fix loading
* Fix invalaid login log processing
* Typing
* Change default message template
* Change one-time password to 8 digit
* Refactoring to not save secret
* Bug fixing
* Change async_initialize method name to aysnc_initialize_login_mfa_step
* Address some simple fix code review comment
2018-09-24 11:06:50 +02:00
Jason Hu
34deaf8849
Add valid_window=1 to TOTP verify ( #16625 )
2018-09-15 13:28:25 +02:00
Jason Hu
ff78a5b04b
Track refresh token last usage information ( #16408 )
...
* Extend refresh_token to support last_used_at and last_used_by
* Address code review comment
* Remove unused code
* Add it to websocket response
* Fix typing
2018-09-12 13:24:16 +02:00
Paulus Schoutsen
4e3faf6108
Fix typo ( #16556 )
2018-09-11 12:55:05 +02:00