Aleksander Machniak
d03767b7f1
OAuth: improve token refresh - check token also in the keep-alive action
2025-03-18 13:58:54 +01:00
Aleksander Machniak
29d0eba3db
Add rcmail_oauth::is_token_valid() method
2025-03-14 12:12:56 +01:00
Aleksander Machniak
94a6144a87
CS fix
2024-12-03 12:56:21 +01:00
Aleksander Machniak
c516f6e26f
Fix Oauth issues with use_secure_urls=true ( #9722 )
2024-12-03 12:44:12 +01:00
Aleksander Machniak
83417f5883
OAuth: Add a flag to the 'authenticate' hook arguments indicating SSO is in use
...
This way plugins can react to it, e.g. 2FA plugins can skip asking for the second factor
2024-09-12 09:39:49 +02:00
Aleksander Machniak
c5a861114e
OAuth: Refresh token is optional ( #9626 )
2024-09-06 11:17:30 +02:00
Aleksander Machniak
d26e4354f7
Add small sanity check
2024-09-02 13:54:31 +02:00
Aleksander Machniak
0cf65ad2b1
OAuth: Support standard authentication with short-living password received with OIDC token ( #9530 )
2024-08-29 13:17:54 +02:00
Aleksander Machniak
a134c83f14
Cleanup
2024-08-29 13:11:45 +02:00
Aleksander Machniak
4023931ed3
OAuth: Fix some PHP warnings and improve debug logging
2024-08-27 19:33:03 +02:00
Aleksander Machniak
c706575a0b
CS fix
2024-07-31 18:11:51 +02:00
Aleksander Machniak
cfd108399e
Simplify use of rcube::raise_error()
2024-05-17 15:43:17 +02:00
Edouard Vanbelle
f71ae0298a
oauth: select auth scheme (XOAUTH2 vs OAUTHBEARER) ( #9289 )
2024-04-21 11:52:05 +02:00
Michael Voříšek
a30e0ad438
Infer file/line location in rcube::raise_error() from backtrace ( #9422 )
...
* \n\s+'file' => __FILE__,
* \n\s+'line' => __LINE__,
* 'line' => __LINE__, 'file' => __FILE__,
* 'file' => __FILE__, 'line' => __LINE__,
* rest
* more
* improve cs
* more cs
* revert rcube_utils::preg_error changes
* impl file/line from backtrace
* Revert "revert rcube_utils::preg_error changes"
2024-04-21 11:48:35 +02:00
Aleksander Machniak
5c603344fe
Code improvements
2024-04-01 11:50:56 +02:00
Michael Voříšek
d18406a8bd
Fix binary operator spaces CS ( #9330 )
...
* align_single_space_minimal for assign
* assign operators grouping is not supported by PHP CS Fixer
* binary_operator_spaces = single_space
* fix anonymous function on single line
* align comments manually
2024-02-02 07:53:34 +01:00
Aleksander Machniak
34500a4fa4
Fix "missing return statement" phpstan errors
2024-01-27 19:07:52 +01:00
Michael Voříšek
ff2d721680
Fix more CS whitespace ( #9318 )
...
* fix "no_useless_else" manually
* fix some "blank_line_before_statement"
* two manual changes
* Revert "fix some "blank_line_before_statement""
This reverts commit 2cc857c00e .
* fix some "blank_line_before_statement" using patched fixer (after "}" only)
* fix continue/break too
2024-01-25 19:17:29 +01:00
Michael Voříšek
54f4aa33f9
Fix CS - imports ( #9316 )
...
* fix Tests\Browser\TestCase imports
* fix remaining imports
* fix PHPUnit\Framework\TestCase imports
* import GuzzleHttp\Client
* fix remaining
* "php_unit_method_casing" is not todo
* fix "single_line_comment_spacing"
* fix 2nd commit done using older fixer
2024-01-21 19:13:31 +01:00
Michael Voříšek
b1a0067e5d
Fix more CS ( #9303 )
...
* fix "class_attributes_separation"
* fix "ternary_to_null_coalescing"
* fix "no_extra_blank_lines"
* fix "php_unit_data_provider_name" - use snake_case
* fix remaining "function data_" manually
* move "php_unit_test_case_static_method_calls" to a better place in cnf
* fix 3.47.1 CS
2024-01-20 08:22:32 +01:00
Edouard Vanbelle
77aca18bd5
Refactorize request_access_token() returning a simple boolean ( #9299 )
2024-01-06 08:34:12 +01:00
Michael Voříšek
a797873ef5
Fix "phpdoc_no_empty_return" CS ( #9302 )
...
* replace void with never return type
* replace "return void" phpdoc with native type in tests
* replace "return void" phpdoc with native type in rcube_addressbook
* replace "return void" phpdoc with native type in rcmail_oauth
* fix remaining
2024-01-05 19:03:58 +01:00
Michael Voříšek
6a53a1d853
Fix CS (whitespace, visibility) ( #9297 )
...
* Fix "method_argument_space"
* Fix "control_structure_continuation_position"
* Fix "new_with_parentheses"
* Fix "blank_line_before_statement"
* Fix "visibility_required"
* Fix some "array_indentation"
* Fix some "array_indentation" - unify all "rcube::raise_error" calls
* rm useless eslint ignores and add rules counts
* sort eslint ignores
* fix eslint ignores grammar
* Revert "Fix "blank_line_before_statement""
* fix CS 3.46.0
2024-01-04 14:26:35 +01:00
Aleksander Machniak
7a07ce57f5
Test but do not output (while testing) some OAuth errors
2024-01-01 10:36:48 +01:00
Michael Voříšek
2643be3eaa
Fix single quotes CS ( #9283 )
...
* Fix "single_quote"
* fix "escape_implicit_backslashes"
* fix typo from f363481c
* fix single quotes in JS
* fix some minor JS CS
* fix CS v3.45.0
2023-12-31 16:36:55 +01:00
Edouard Vanbelle
ffa298d41c
OAuth: feat: use OIDC claims on user creation ( #9286 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-29 19:10:37 +01:00
Edouard Vanbelle
14f092c7af
OAuth: security: add support of nonce ( #9288 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-29 19:05:14 +01:00
Edouard Vanbelle
9c769c288b
OAuth: Add support for PKCE ( #9287 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-27 10:57:42 +01:00
Edouard Vanbelle
320bdefb57
OAuth: code refactorization ( #9274 )
...
* OAuth: Refact.: migrate login flow into hooks (more evolutive code and less dependency to core code)
* OAuth: Fix: logger prefix (include prefix during login phase)
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-26 09:07:50 +01:00
Edouard Vanbelle
0e4c35797d
core: correct coding style warning ( #9284 )
...
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
2023-12-26 09:04:54 +01:00
kc
504cdb89a5
Fix OAuth for Kinde && support smtp w/o authentication ( #9244 , #9183 )
...
Co-authored-by: kc <kc@white.colors.lan >
2023-12-23 17:31:31 +01:00
Michael Voříšek
28c778b7a0
Modernize more CS III ( #9270 )
...
* fix "single_trait_insert_per_statement"
* fix "empty_loop_condition"
* fix "backtick_to_shell_exec"
* fix "phpdoc_to_comment"
* fix "no_empty_statement"
* fix "heredoc_to_nowdoc"
* fix "class_reference_name_casing"
* fix "align_multiline_comment"
* fix "heredoc_indentation"
* fix "constant_case"
* fix "single_line_comment_style"
* fix "no_null_property_initialization"
* fix "standardize_increment"
* fix "no_unneeded_control_parentheses"
* fix missing NL after "<?php"
* fix php in *.sh files too
* fix trailing spaces from all text files
* fix "explicit_indirect_variable"
* Revert "fix "align_multiline_comment""
This reverts commit 42e584f8e3 .
* fix "align_multiline_comment" properly
* Revert "fix trailing spaces from all text files" - diff files only
* Revert "Revert "fix trailing spaces from all text files" - diff files only"
This reverts commit 2101c2a3a3 .
* rm useless "setup-php" config
2023-12-18 07:46:51 +01:00
Michael Voříšek
e7d7e62146
Modernize more basic CS II ( #9254 )
...
* fix "integer_literal_case"
* fix "phpdoc_separation"
* fix "phpdoc_var_without_name"
* fix "operator_linebreak"
* fix "no_alias_language_construct_call"
* fix "list_syntax"
* fix "concat_space"
* fix "array_syntax"
* fix "binary_operator_spaces"
* fix "binary_operator_spaces" relaxed
* fix "phpdoc_types_order"
* fix "phpdoc_trim"
* fix "native_type_declaration_casing"
* fix "method_chaining_indentation"
* fix "phpdoc_no_package"
* fix "elseif"
* fix PHP CS Fixer config itself too
* fix "native_type_declaration_casing"
2023-12-17 13:14:45 +01:00
Aleksander Machniak
622cc8d555
CS fixes
2023-12-17 11:11:00 +01:00
Aleksander Machniak
f363481ca1
CS improvements, fix unwanted output in tests
2023-12-17 10:08:21 +01:00
Michael Voříšek
ca8b17d191
Modernize more basic CS ( #9258 )
...
* fix "yoda_style"
* fix "is_null"
* rm useless rule ignores
* add full "PhpCsFixer:risky" ruleset
* fix "implode_call"
* fix "no_alias_functions"
* fix "array_push"
* fix "long_to_shorthand_operator"
* fix "ternary_to_elvis_operator"
* fix "logical_operators"
* fix "fopen_flags"
* rename "returns" phpdoc tags to "return"
* fix "php_unit_construct"
* fix "function_to_constant"
* fix "php_unit_data_provider_return_type"
* fix "php_unit_set_up_tear_down_visibility"
* some safe "string_length_to_empty"
* fix "phpdoc_align"
* fix "phpdoc_no_alias_tag"
* fix "trailing_comma_in_multiline"
---------
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-17 09:51:11 +01:00
Michael Voříšek
93946f4ca7
Fix "self_accessor" PHP CS Fixer rule ( #9269 )
2023-12-17 09:44:43 +01:00
Edouard Vanbelle
588a879107
OAuth improvements ( #9217 )
...
- OAuth: Add `oauth_config_uri` - support OAuth/OpenIDC discovery (#8201 )
- OAuth: Add `oauth_logout_uri` - allow invalidating the OAUTH-Session on logout (#8057 )
- OAuth: Support for OpenID Connect RP-Initiated Logout (#9109 )
- OAuth: Add support of OAUTHBEARER (#9217 )
- OAuth: Add `oauth_debug` option (#9217 )
- OAuth: Fix: missing config `oauth_provider_name` in rcmail_oauth's constructor (#9217 )
- OAuth: Refactor: move display to the rcmail_oauth class and use `loginform_content` hook (#9217 )
Signed-off-by: Edouard Vanbelle <edouard@vanbelle.fr >
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-17 09:13:07 +01:00
Michael Voříšek
a8707ae220
Fix and assert basic CS using CI ( #9246 )
...
* Assert CS using CI
* fix "single_blank_line_at_eof"
* fix "statement_indentation"
* fix "switch_case_semicolon_to_colon"
* fix "control_structure_braces"
* fix "statement_indentation"
* fix "no_whitespace_in_blank_line"
* fix "no_trailing_whitespace_in_comment"
* fix "no_trailing_whitespace"
* fix "single_space_around_construct"
* fix "spaces_inside_parentheses"
* fix "ternary_operator_spaces"
* fix "trim_array_spaces"
* fix "whitespace_after_comma_in_array"
* fix "cast_spaces"
* fix "unary_operator_spaces"
* fix "no_trailing_comma_in_singleline"
* fix "ordered_imports"
* fix "no_unused_imports"
* Check composer.json format
* fix CI job name
* file header comments are not phpdoc
* fix "phpdoc_indent"
* fix "braces_position"
* fix "phpdoc_types"
* fix "no_blank_lines_after_class_opening"
* fix "no_multiple_statements_per_line"
* fix "multiline_comment_opening_closing"
* fix "single_line_empty_body"
* fix "non_printable_character"
* fix "phpdoc_trim_consecutive_blank_line_separation"
* fix "include"
* fix "no_mixed_echo_print"
---------
Co-authored-by: Aleksander Machniak <alec@alec.pl >
2023-12-16 15:37:43 +01:00
Michael Voříšek
5425d1a84a
Fix invalid phpdocs ( #9252 )
...
* fix missing return type in phpdoc
* fix "phpdoc_scalar"
* Fix phpdoc variable names typos
* fix wrong phpdoc tags
2023-12-10 16:20:50 +01:00
Aleksander Machniak
6f35b2cc5b
More fixes regarding rcmail::url() ( #9052 )
2023-07-10 18:27:56 +02:00
Aleksander Machniak
d2e8a889c4
Fix regression that broke use_secure_urls feature ( #9052 )
2023-07-09 11:23:44 +02:00
Thomas Bruederli
c4c9fa0242
Fix JWT decoding with url safe base64 schema ( #8890 )
2023-01-28 22:05:59 +01:00
Vitosha Labs
c08e59033f
Use json_decode instead of GuzzleHttp\json_decode ( #8773 )
2022-11-11 11:40:31 +01:00
Thomas Bruederli
10f00d3946
Remove debug code again
2022-10-29 22:28:38 +02:00
Thomas Bruederli
6b2e39d132
Kill session if refreshing oauth token fails ( #8734 )
2022-10-29 22:24:09 +02:00
Jorge López Pérez
e808fba4f8
Initialize HTTP client using get_http_client() for OAuth requests ( #8666 )
...
* Initialize HTTP client using get_http_client() for OAuth requests
* Add new oauth_timeout setting
2022-08-09 19:13:58 +02:00
Thomas Bruederli
bda54eb937
Update password option after refreshing oauth access token ( #8436 )
2022-06-26 23:01:36 +02:00
Thomas Bruederli
841bead50a
Refresh oauth access token in 'refresh' plugin hook ( #8224 )
2021-12-28 17:22:19 +01:00
Thomas Bruederli
6564b7b32c
No oauth auto-redirect on imap login failures ( #8370 )
2021-12-28 17:22:12 +01:00